CD metrology analysis using green&#39;s function

ABSTRACT

A method for modeling optical scattering includes an initial step of defining a zero-th order structure (an idealized representation) for a subject including a perturbation domain and a background material. A Green&#39;s function and a zero-th order wave function are obtained for the zero-th order structure using rigorous coupled wave analysis (RCWA). A Lippmann-Schwinger equation is constructed including the Green&#39;s function, zero-th order wave function and a perturbation function. The Lippmann-Schwinger equation is then evaluated over a selected set of mesh points within the perturbation domain. The resulting linear equations are solved to compute one or more reflection coefficients for the subject.

The present application claims priority to U.S. Provisional Patent Applications Ser. No. 60/311,427, filed Aug. 10, 2001, Ser. No. 60/378,525, filed May 7, 2002 and Ser. No. 60/394,556, filed Jul. 9, 2002 all of which are incorporated herein by reference.

TECHNICAL FIELD

The subject invention relates to a technique for determining the scattering response of a periodic structure using a Green's function approach in combination with rigorous coupled wave analysis.

BACKGROUND OF THE INVENTION

Over the past several years, there has been considerable interest in using optical scatterometry (i.e., optical diffraction) to perform critical dimension (CD) measurements of the lines and structures included in integrated circuits. Optical scatterometry has been used to analyze periodic two-dimensional structures (e.g., line gratings) as well as three-dimensional structures (e.g., patterns of vias or mesas). Scatterometry is also used to perform overlay registration measurements. Overlay measurements attempt to measure the degree of alignment between successive lithographic mask layers.

Various optical techniques have been used to perform optical scatterometry. These techniques include broadband scatterometry (U.S. Pat. Nos. 5,607,800; 5,867,276 and 5,963,329), spectral ellipsometry (U.S. Pat. No. 5,739,909) as well as spectral and single-wavelength beam profile reflectance (BPR) and beam profile ellipsometry (BPE) (U.S. Pat. No. 6,429,943). In addition it may be possible to employ single-wavelength laser BPR or BPE to obtain CD measurements on isolated lines or isolated vias and mesas.

Most scatterometry systems use a modeling approach to transform scatterometry signals into critical dimension measurements. For this type of approach, a theoretical model is defined for each physical structure that will be analyzed. The theoretical model predicts the empirical measurements (scatterometry signals) that scatterometry systems would record for the structure. A rigorous coupled wave theory can be used for this calculation. The theoretical results of this calculation are then compared to the measured data (actually, the normalized data). To the extent the results do not match, the theoretical model is modified and the theoretical data is calculated once again and compared to the empirical measurements. This process is repeated iteratively until the correspondence between the calculated theoretical data and the empirical measurements reaches an acceptable level of fitness. At this point, the characteristics of the theoretical model and the physical structure should be very similar.

The calculations discussed above are relatively complex even for simple models. As the models become more complex (particularly as the profiles of the walls of the features become more complex) the calculations become exceedingly long and complex. Even with high-speed processors, real time evaluation of these calculations can be difficult. Analysis on a real time basis is very desirable so that manufacturers can immediately determine when a process is not operating correctly. The need is becoming more acute as the industry moves towards integrated metrology solutions wherein the metrology hardware is integrated directly with the process hardware.

A number of approaches have been developed to overcome the calculation bottleneck associated with the analysis of scatterometry results. Many of these approaches have involved techniques for improving calculation throughput, such as parallel processing techniques. An approach of this type is described in a co-pending application Ser. No. 09/818,703 filed Mar. 27, 2001 which describes distribution of scatterometry calculations among a group of parallel processors. In the preferred embodiment, the processor configuration includes a master processor and a plurality of slave processors. The master processor handles the control and the comparison functions. The calculation of the response of the theoretical sample to the interaction with the optical probe radiation is distributed by the master processor to itself and the slave processors.

For example, where the data is taken as a function of wavelength, the calculations are distributed as a function of wavelength. Thus, a first slave processor will use Maxwell's equations to determine the expected intensity of light at selected wavelengths scattered from a given theoretical model. The other slave processors will carry out the same calculations at different wavelengths. Assuming there are five processors (one master and four slaves) and fifty wavelengths, each processor will perform ten such calculations per iteration.

Once the calculations are complete, the master processor performs the best fit comparison between each of the calculated intensities and the measured normalized intensities. Based on this fit, the master processor will modify the parameters of the model as discussed above (changing the widths or layer thickness). The master processor will then distribute the calculations for the modified model to the slave processors. This sequence is repeated until a good fit is achieved.

This distributed processing approach can also be used with multiple angle of incidence information. In this situation, the calculations at each of the different angles of incidence can be distributed to the slave processor. Techniques of this type are an effective method for reducing the time required for scatterometry calculations. At the same time, the speedup provided by parallel processing is strictly dependent on the availability (and associated cost) of multiple processors. Amdahl's law also limits the amount of speedup available by parallel processing since serial portions program portions are not improved. At the present time, neither cost nor ultimate speed improvement is a serious limitation for parallel processing techniques. As geometries continue to shrink, however it becomes increasingly possible that computational complexity will outstrip the use of parallel techniques alone.

Another approach is to use pre-computed libraries of predicted measurements. This type of approach is discussed in PCT application WO 99/45340, published Sep. 10, 1999 as well as the references cited therein. In this approach, the theoretical model is parameterized to allow the characteristics of the physical structure to be varied. The parameters are varied over a predetermined range and the theoretical result for each variation to the physical structure is calculated to define a library of solutions. When the empirical measurements are obtained, the library is searched to find the best fit.

The use of libraries speeds the analysis process by allowing theoretical results to be computed once and reused many times. At the same time, library use does not completely solve the calculation bottleneck. Construction of libraries is time consuming, requiring repeated evaluation of the same time consuming theoretical models. Process changes and other variables may require periodic library modification or replacement at the cost of still more calculations. For these reasons, libraries are expensive (in computational terms) to build and to maintain. Libraries are also necessarily limited in their resolution and can contain only a finite number of theoretical results. As a result, there are many cases where empirical measurements do not have exact library matches. One approach for dealing with this problem is to generate additional theoretical results in real time to augment the theoretical results already present in the library. This combined approach improves accuracy, but slows the scatterometry process as theoretical models are evaluated in real time. A similar approach is to use a library as a starting point and apply an interpolation approach to generate missing results. This approach avoids the penalty associated with generating results in real time, but sacrifices accuracy during the interpolation process.

For these reasons and others, there is a continuing need for faster methods for computing theoretical results for scatterometry systems. This is true both for systems that use real time evaluation of theoretical models as well as systems that use library based problem solving. The need for faster evaluation methods will almost certainly increase as models become more detailed to more accurately reflect physical structures.

SUMMARY OF THE INVENTION

The present invention provides a method for modeling optical diffraction. The modeling method is intended to be used in combination with a wide range of subjects including semi-conductor wafers and thin films. A generic subject includes a scatterer sandwiched between a foreground material and a background material. The scatterer is a periodic or isolated structure and may be two or three-dimensional. The background material includes each of the layers of the subject that are situated below the scatterer. The foreground material includes all of the substances (in some cases this includes layers of the subject) that overlay the scatterer.

The modeling method begins with the construction of an idealized representation (also known as the zero-th order structure) for the subject being modeled. The idealized representation is based on one of three templates. The templates are referred to as the G0, G1 and Ga structures, respectively. Each of these templates is a combination of the subject's background material and a perturbation domain. The perturbation domain contains the scatterer and is treated differently by each template. The perturbation domain in the G0 structure has a dielectric response that is equivalent to the subject's foreground. For the G1 structure, the perturbation domain includes a grating. The grating consists of a limited number of square slabs arranged in a repeating pattern closely modeling the scatterer. For the Ga case, the perturbation domain contains a uniform medium. A wide range of functions may be used to define the dielectric properties of the uniform medium. For one such function, the TE mode response is defined to be a weighted average of the dielectric function for the scatterer and the foreground material. The TM mode response is similar except that the inverse of the dielectric function is used to compute the weighted average.

One or more Lippmann-Schwinger wave equations are used to represent the idealized representation. Each wave equation includes a wave function for the zero-th order structure, a Green's function for the zero-th order structure and a perturbation function. The wave function for the zero-th order structure and the Green's function arm obtained using rigorous coupled wave analysis. The perturbation function describes the dielectric properties of the perturbation domain. By definition, the perturbation function is defined to be zero at all points outside of the perturbation domain. As a result, numerical evaluation of the Lippmann-Schwinger wave equations may be limited to the area within the perturbation domain, greatly accelerating numerical evaluation of the scattering response.

The perturbation domain is subdivided into a series of segments or layers. The Lippmann-Schwinger wave equations are then evaluated in each segment. The result of this repeated evaluation is a system of linear equations. Each equation within the system relates the terms of the wave equations obtained in a particular segment of the perturbation domain for a particular coupled wave.

The system of linear equations is solved to obtain one or more reflection coefficients for the idealized representation. This can be done using any iterative solver. Typical solvers include the quasi-minimal-residue (QMR), TMRES and Krylov subspace solvers. Other suitable techniques may also be used.

In this way, an efficient method for modeling optical diffraction is provided. The efficiency of this method is enhanced because the numerical evaluation is limited to the perturbation domain of the idealized representation. Efficiency is further enhanced because the boundaries between the perturbation domain and the remaining layers of the zero-th order structure are intrinsically accounted for by the Green's function.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a cross sectional representation of a generic subject for which optical diffraction may be modeled.

FIG. 2 is a flowchart showing the steps associated with a method for modeling optical scattering as provided by an embodiment of the present invention.

FIG. 3 is a cross sectional representation of the G0 structure as used by an embodiment of the present invention.

FIG. 4 is a cross sectional representation of the G1 structure as used by an embodiment of the present invention.

FIG. 5 is a cross sectional representation of the perturbation domain of the G0 structure after subdivision.

FIG. 6 is a cross sectional representation of the perturbation domain of the G0 structure after an alternate subdivision.

FIG. 7 is block diagram of an optical metrology shown as a representative application for the modeling method of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Overview

The present invention provides a method for modeling optical diffraction. The modeling method is intended to be used in combination with a wide range of subjects including semi-conductor wafers and thin films. As shown in FIG. 1, the cross section for a generic subject reveals a scatterer sandwiched between a foreground material and a background material. The scatterer is a periodic or isolated structure and may be two or three-dimensional. For semi-conductor wafers, single lines are typical examples of two-dimensional isolated scatterers. Parallel groups of lines evenly spaced are a common example of two-dimensional periodic scatterers. Single vias are an example of isolated three-dimensional scatterers. In groups, vias can be an example of periodic three-dimensional scatterer.

The background material includes each of the layers situated below the scatterer. For the case of semi-conductor wafers, the background material would typically be a multilayer dielectric film. The foreground material includes all of the substances that overlay the scatterer. Where the scatterer forms the surface of the subject, the foreground material includes the overlaying gas, fluid or vacuum. In cases where the scatterer is submerged within the subject, the foreground material includes the overlaying layers.

The modeling method begins with a subject (such as the subject of FIG. 1) and computes one or more reflection coefficients. A high level flowchart showing the steps associated with this method is shown in FIG. 2. As may be seen in step 202 of that figure, the modeling method begins with the construction of an idealized representation (also known as the zero-th order structure) for the subject being modeled.

The idealized representation is based on one of three templates. The templates are referred to as the G0, G1 and Ga structures, respectively. As shown in FIG. 3, the G0 structure retains the background material described for the generic subject shown in FIG. 1. The scatterer is replaced by a uniform medium that has a dielectric response that is equivalent to the subject's foreground.

The G1 structure (shown in FIG. 4) includes the same background material described for the G0 structure. Unlike the G0 structure, the perturbation domain of the G1 structure includes a grating. The grating consists of a limited number of square slabs arranged in a repeating pattern. The square slabs closely model the scatterer.

The Ga structure (not shown) shares the background material of the G0 and G1 structures. The perturbation domain of the Ga case contains a uniform medium. A wide range of functions may be used to define the dielectric properties of the uniform medium. For one such function, the TE mode response is defined to be a weighted average of the dielectric function for the scatterer and the foreground material. The TM mode response is similar except that the inverse of the dielectric function is used to compute the weighted average.

The G0, G1, and Ga structures offer various tradeoffs for computational speed and accuracy. The G1 structure is generally the most computationally intensive. The G0 is generally the least computationally intensive. Selection of a particular structure is also dependent on the type of subject. The G1 structure works best when used for two-dimensional analysis. This type of analysis is appropriate for subjects that include two-dimensional scatterers (scatterers that exhibit a translational symmetry along an axis). The G0 and Ga structures, on the other hand, may be used for both two and three dimensional analysis. In step 202, one of the three structures is selected and used to create the idealized representation for the subject.

The remaining steps of the modeling method are devoted to numerical evaluation of the scattering response of the idealized representation. To avoid confusion, it should be noted that several derivations have been developed to perform this evaluation. This overview section briefly describes one of these derivations with additional description for all derivations provided in subsequent portions of this document. For each derivation, the numerical evaluation is based on the use of one or more Lippmann-Schwinger equations to represent one or more wave functions for the idealized representation. In the coupled wave basis, each of these equations has a form similar to (and for some derivations identical to): Ψ(z)−Ψ₀(z)=∫dz′G(z, z′)V(z′)Ψ(z′).  (1.1)

Within Equation (1.1) Ψ₀(z) and G(z, z′) are the wave and Green's functions for the zero-th order structure. V(z′) is known as the perturbation function and describes the dielectric properties of the perturbation domain. By definition, the perturbation function is defined to be zero at all points outside of the perturbation domain. As a result, numerical evaluation of Equation (1.1) may be limited to the area within the perturbation domain, greatly accelerating numerical evaluation of the scattering response.

To evaluate Equation (1.1), the modeling method subdivides the perturbation domain into a series of segments, each having the same thickness (see step 204). This type of subdivision for a G0-type perturbation domain is shown in FIG. 5.

Equation (1.1) is then evaluated in each segment (see step 206). The result of this repeated evaluation is a system of linear equations. Each equation within the system relates the terms of Equation (1.1) obtained in a particular segment of the perturbation domain for a particular coupled wave.

The system of linear equations is then solved to obtain one or more reflection coefficients for the idealized representation (see step 208). This can be done using any iterative solver. Typical solvers include the quasi-minimal-residue (QMR), TMRES and Krylov subspace solvers. Other suitable techniques may also be used.

The modeling method of FIG. 2 provides an efficient method for modeling optical diffraction. The efficiency of this method is enhanced because the numerical evaluation is limited to the perturbation domain of the idealized representation. Efficiency is further enhanced because the boundaries between the perturbation domain and the remaining layers of the zero-th order structure are intrinsically accounted for by the Green's function. As described above, the modeling method is suitable for the analysis of TE modes for two-dimensional structures (i.e., structures that exhibit a translational symmetry in one direction). The following sections describe derivations for two and three dimensional structures for TE and TM modes.

Equation Section 2Wave Equations for Two-dimensional Structures

This section describes derivations for separate TE and TM mode wave equations for two-dimensional structures. The wave equations allow the modeling method to be used to predict the diffraction response of two-dimensional structures (i.e., structures that exhibit translational symmetry in at least one direction). For semi-conductor wafers, this can include patterns of lines and other periodic structures.

For TE modes the wave function ψ(x, z) of concern is the y-component of the electric field (E_(y)). From Maxwell's equations, E_(y) satisfies the following differential equation: [∂_(x) ²+∂_(z) ² +k ₀ ²∈(x, z)]ψ(x, z)=0,  (2.1) where ∈(x, z) is the position-dependent dielectric function, k₀=2π/λ₀, and λ₀ is the wavelength of the incident radiation in free space. Equation (2.1) is subject to the boundary conditions that ψ and ∂_(z)ψ are continuous. Replacing ∈(x, z) with ∈₀(x, z) yields a similar equation for the zero-th order structure: [∂_(x) ²+∂_(z) ² +k ₀ ²∈₀(x, z)]ψ₀(x, z)=0,

A corresponding Green's function G(x, z; x, z′) may be formulated as: [∂_(x) ²+∂_(z) ² +k ₀ ²∈₀(x, z)]G(x, z; x′, z′)=δ(z−z′)δ(x−x′)  (2.2) subject to the same boundary conditions that ψ and ∂_(z)ψ₀ are continuous.

To determine the scattering response of the idealized representation, it is necessary to account for the dielectric properties of the perturbation domain. This perturbation is denoted V. Within the perturbation domain (0<z<d) V(x, z)=[∈(x, z)−∈₀]k₀ ². At all other points, V is zero.

The perturbation function V, the Green's function G(x, z; x, z′), and the wave function for the zero-th order structure ψ₀ are used to obtain a wave function ψ for the idealized representation. ψ is a Lippmann-Schwinger equation having the following form: ψ(x, z)−ψ₀(x, z)=∫dx′dz′G(x, z; x′, z′)V(x′, z′)ψ(x′, z′).  (2.3)

Projecting equation (2.3) into the coupled wave basis with <x|n>=e′^(k) ⁰ ^(x)/√{square root over (p)}(k_(n)=k_(0x)+2πn/p), yields: Ψ(z)−Ψ₀(z)=∫dz′G(z, z′)V(z′)Ψ(z′),  (2.4) where Ψ and Ψ₀ are N dimensional column vectors with entries given by: Ψ_(n)(z)=<n|ψ> and Ψ_(n) ⁰(z)=<n|ψ₀>. G and V are N×N matrices with elements given by G_(n,n′)(z, z′)=<n|G|n′> and V_(n,n′)(z)=<n|V|n′>.

For TM modes the wave function ψ(x, z) of concern is the y-component of the magnetic field (H_(y)). From Maxwell's equations, (H_(y)) satisfies the following differential equation: [∂_(x)∈⁻¹∂_(x)+∂_(z)∈⁻¹∂_(z) +k ₀ ²]ψ(x, z)=0  (2.5) subject to the boundary conditions that ψ(x, z) and ∈⁻¹∂_(z)ψ(x, z) are continuous across a z boundary and ψ(x, z) and ∈⁻¹∂_(x)ψ(x, z) are continuous across a x boundary. Note that the discontinuity of ∂_(x)H_(y) across x boundaries causes slow convergence in the coupled-wave method. So, more plane waves are needed for the expansion of H_(y) field than for the E_(y) field. Replacing ∈(x, z) with ∈₀(x, z) yields a similar differential equation for the unperturbed system (zero-th order structure): [∂_(x)∈₀ ⁻¹∂_(x)+∂_(z)∈₀ ⁻¹∂_(z) +k ₀ ²]ψ₀(x, z)=0  (2.6)

A corresponding Green's function G(x, z; x, z′) may be formulated as: [∂_(x)∈₀ ⁻¹∂_(x)+∂_(z)∈₀ ⁻¹∂_(z) +k ₀ ² ]G ⁰(x, z; x′, z′)=δ(x−x′)δ(z−z′)  (2.7) subject to the same set of boundary conditions required for ψ₀(x, z).

To construct a wave equation for TM modes, Equation (2.7) is multiplied by ψ(x′, z′)−ψ₀(x′, z′) and integrated over x′ and z′. Equation (2.6) is multiplied by G(x, z; x′, z′) and integrating over x′ and z′. The difference of the two resulting equations yields a Lippmann-Schwinger equation for the TM modes having the following form: $\begin{matrix} {{{{\psi\left( {x,z} \right)} - {\psi_{0}\left( {x,z} \right)}} = {{\int{{\mathbb{d}x^{\prime}}{\mathbb{d}{z^{\prime}\left\lbrack {\partial_{x^{\prime}}{G\left( {x,{z;},x^{\prime},z^{\prime}} \right)}} \right\rbrack}}{{V\left( {x^{\prime},z^{\prime}} \right)}\left\lbrack {\partial_{x^{\prime}}{\psi\left( {x,{z;},x^{\prime},z^{\prime}} \right)}} \right\rbrack}}} + {\int{{\mathbb{d}x^{\prime}}{\mathbb{d}{z^{\prime}\left\lbrack {\partial_{z^{\prime}}{G\left( {x,{z;},x^{\prime},z^{\prime}} \right)}} \right\rbrack}}{{V\left( {x^{\prime},z^{\prime}} \right)}\left\lbrack {\partial_{z^{\prime}}{\psi\left( {x^{\prime},z^{\prime}} \right)}} \right\rbrack}}}}},} & (2.8) \end{matrix}$ where V(x, z)=∈⁻¹(x, z)−∈₀ ⁻¹(x, z) is the perturbation in inverse dielectric function. To derive Equation (2.8), integration by parts is used. The boundary terms generated in the process vanish exactly due to the fact that the derivatives of ψ (or G) divided by ∈ (or ∈₀) are continuous across the corresponding boundaries.

Projecting the above equations into the coupled wave basis yields: Ψ(z)−Ψ⁰(z)=∫dz′[G(z, z′)K{tilde over (V)}(z′)KΨ(z′)+∂_(z′) G(z, z′)V(z′)∂_(z′)Ψ(z′)],  (2.9) where K is a diagonal matrix with the n-th diagonal entry given by k_(n).

For TM modes, two types of perturbation matrices are used: V and {tilde over (V)}. The first type is defined as V=P−P₀, where P(P₀) is a matrix of the inverse dielectric function with elements given by P_(n,n′)(z)=<n|1/∈|n′>. The second type is defined as: {tilde over (V)}=E⁻¹−E₀ ⁻¹, where E⁻¹ is the inverse of dielectric function matrix (E), whose matrix elements are E_(n,n′)(z)=<n|∈|n′> and similarly for E₀. V and {tilde over (V)} are identical when a complete set of coupled-wave basis functions is used. In practice, a finite number of coupled-wave basis functions are used, and to achieve fast convergence, {tilde over (V)} is used for terms involving x-derivatives and V for terms involving z-derivatives. The use of V and {tilde over (V)} perturbation matrices takes advantage of the observation that calculation of a Fourier transform involving a continuous function [1/∈(x)][∂_(x)ψ(x)] which is the product of two discontinuous functions [1/∈(x)] and [∂_(x)ψ(x)] converges more rapidly if the resulting product matrix is expressed as [∈]⁻¹[ψ] rather than [1/∈][ψ]. This observation is discussed in (L. Li, J. Opt. Soc. Am. A 2758 (1997)). That article is incorporated in this document by reference.

Efficient Transfer-matrix Method for RCWA

In order to optimize the efficiency of the algorithm, an efficient transfer-matrix method is used to calculate the matrices and wave functions needed for constructing the Green's function within the coupled-wave basis. The derivation for this method takes advantage of the symmetry properties of the matrices whenever possible, thus making the coding more efficient.

For both TE and TM modes, the differential equations projected within the coupled-wave basis (i.e., equations (2.4) and (2.9)) can be cast into the general form: $\begin{matrix} {{\left( {{\frac{\mathbb{d}}{\mathbb{d}z}{D(z)}\frac{\mathbb{d}}{\mathbb{d}z}} + {H(z)}} \right)\Psi(z)} = 0.} & (2.10) \end{matrix}$ D and H are square matrices of dimension N and Ψ is a vector of dimension N (the number of coupled waves used). For TE modes, D=1 and H(z)=E(z)k₀ ²−K², where E(z) is the dielectric matrix. For TM modes, D=P(z) (P is the matrix of inverse dielectric function) and H(z)=k₀ ²−KE⁻¹(z)K, where K is a diagonal matrix with elements k_(n)=k_(0x)+2πn/p. Both D(z) and H(z) are piecewise-constant functions of z.

The general solution to the wave function Ψ(z) in each layer of the structure where D and H are independent of z can be expressed as: $\begin{matrix} {{\Psi = {{{\sum\limits_{n}{s_{n}e^{{- q_{n}}z}f_{n}}} + {\sum\limits_{n}{s_{n}e^{q_{n}z}g_{n}}}} \equiv {{{Se}^{- {Qz}}f} + {{Se}^{Qz}g}}}},} & (2.11) \\ {{{\partial\Psi} \propto {{\sum\limits_{n}{{s_{n}\left( {- q_{n}} \right)}e^{{- q_{n}}z}f_{n}}} + {\sum\limits_{n}{s_{n}q_{n}e^{q_{n}z}g_{n}}}} \equiv {{{SQe}^{- {Qz}}f} + {{SQe}^{Qz}g}}},} & (2.12) \end{matrix}$ where f and g are the vectors formed by f_(n)'s and g_(n)'s which are to be determined by the boundary conditions. Q is a diagonal matrix formed by the exponents q_(n). The wave functions are arranged in such a way that e^(−q) ^(n) ^(z) represents the decaying (evanescent) wave in the positive z-direction when the real part of q_(n) is non-zero, and it is the physical forward propagating wave when q_(n) is imaginary. e^(q) ^(n) ^(z) represents the growing wave and is therefore not allowed in the substrate region. The S matrix consists of the eigenvectors of Equation (2.10), and satisfies:  HS=λDS, which can be solved via a standard LAPACK routine. The exponents are related to the eigenvalues of H via √{square root over (−λ_(n))}=q_(n) ² with non-negative real parts. Note that both H and D are symmetric matrices. As a result, the relation S⁻¹=S^(T)D applies, where S^(T) is the transpose of S. This relation will be used to evaluate S⁻¹ directly without performing the time-consuming matrix inversion.

The boundary conditions are determined by requiring that the wave function Ψ(z) and the generalized current be continuous across material boundaries. In the present case, the current is proportional to D(z)∂_(z)Ψ(z) yielding: $\begin{matrix} \begin{matrix} {\begin{pmatrix} \Psi \\ {D{\partial_{z}\Psi}} \end{pmatrix} = {\begin{pmatrix} S & S \\ {- {DSQ}} & {- {DSQ}} \end{pmatrix}\begin{pmatrix} e^{- {Qz}} & 0 \\ 0 & e^{Qz} \end{pmatrix}\begin{pmatrix} f \\ g \end{pmatrix}}} & \quad \\ {= {\begin{pmatrix} S & 0 \\ 0 & {- {DSQ}} \end{pmatrix}\begin{pmatrix} 1 & 1 \\ 1 & {- 1} \end{pmatrix}\begin{pmatrix} e^{- {Qz}} & 0 \\ 0 & e^{Qz} \end{pmatrix}\begin{pmatrix} f \\ g \end{pmatrix}}} & (2.14) \\ {\equiv {\begin{pmatrix} S & 0 \\ 0 & J \end{pmatrix}{\tau\begin{pmatrix} e^{- {Qz}} & 0 \\ 0 & e^{Qz} \end{pmatrix}}{\begin{pmatrix} f \\ g \end{pmatrix}.}}} & (2.15) \end{matrix} & (2.13) \end{matrix}$ where J stands for generalized current matrix. Note that all the elements are themselves matrices. The matrix τ has the property that: $\tau^{- 1} = {\frac{1}{2}{\tau.}}$

Throughout this description, z in the wave functions for each layer l is measured relative to the interface between layers l−1 and l. The boundary conditions are usually in the following form: $\begin{matrix} {{\begin{pmatrix} S_{l} & 0 \\ 0 & J_{l} \end{pmatrix}{\tau\begin{pmatrix} e^{{- Q_{l}}d_{l}} & 0 \\ 0 & e^{Q_{l}d_{l}} \end{pmatrix}}\begin{pmatrix} f_{l} \\ g_{l} \end{pmatrix}} = {\begin{pmatrix} S_{l + 1} & 0 \\ 0 & J_{l + 1} \end{pmatrix}{\tau\begin{pmatrix} f_{l + 1} \\ g_{l + 1} \end{pmatrix}}}} & (2.16) \end{matrix}$ Denoting: M _(l) ≡S _(l) ⁻¹ S _(l+1) , N _(l) ≡J _(l) ⁻¹ J _(l+1)  (2.17) produces the relation: $\begin{matrix} {\begin{pmatrix} f_{l} \\ g_{l} \end{pmatrix} = {\frac{1}{2}\begin{pmatrix} e^{Q_{l}d_{l}} & 0 \\ 0 & e^{{- Q_{l}}d_{l}} \end{pmatrix}\begin{pmatrix} 1 & 1 \\ 1 & {- 1} \end{pmatrix}\begin{pmatrix} M_{l} & 0 \\ 0 & N_{l} \end{pmatrix}\begin{pmatrix} 1 & 1 \\ 1 & {- 1} \end{pmatrix}\begin{pmatrix} f_{l + 1} \\ g_{l + 1} \end{pmatrix}\quad(2.18)}} \\ {= {\frac{1}{2}\begin{pmatrix} e^{Q_{l}d_{l}} & 0 \\ 0 & e^{{- Q_{l}}d_{l}} \end{pmatrix}\begin{pmatrix} {M_{l} + N_{l}} & {M_{l} - N_{l}} \\ {M_{l} - N_{l}} & {M_{l} + N_{l}} \end{pmatrix}\begin{pmatrix} f_{l + 1} \\ g_{l + 1} \end{pmatrix}\quad(2.19)}} \\ {= {{\begin{pmatrix} e^{Q_{l}d_{l}} & 0 \\ 0 & e^{{- Q_{l}}d_{l}} \end{pmatrix}\begin{pmatrix} M_{l}^{+} & M_{l}^{-} \\ M_{l}^{-} & M_{l}^{+} \end{pmatrix}\begin{pmatrix} f_{l + 1} \\ g_{l + 1} \end{pmatrix}} \equiv {\begin{pmatrix} f_{l + 1} \\ g_{l + 1} \end{pmatrix}\quad(2.20)}}} \end{matrix}$

This is the starting point of the transfer matrix approach. Let t be the transmission coefficient at the substrate layer (labeled by L), this yields: $\begin{pmatrix} f_{l} \\ g_{l} \end{pmatrix} = {{{\prod\limits_{l = j}^{L - 1}\quad{\tau_{1}\begin{pmatrix} t \\ 0 \end{pmatrix}}} \equiv {T_{l}^{-}\begin{pmatrix} t \\ 0 \end{pmatrix}}} = {{\begin{pmatrix} \tau_{11} & \tau_{12} \\ \tau_{21} & \tau_{22} \end{pmatrix}\begin{pmatrix} t \\ 0 \end{pmatrix}} = \begin{pmatrix} {\tau_{11}t} \\ {\tau_{21}t} \end{pmatrix}}}$

It is important to note that only the first column of the matrix T_(l) is needed. This fact reduces transfer matrix computational time.

The transfer matrix formalism can be unstable due to exponentially growing factors e^(Q) ^(l) ^(d) ^(l) , even in the spirit of the above format (although a simple scaling can be applied in the single component case). It turns out that it is possible to overcome this difficulty, provided that the growing and decaying waves are cleanly separated. To achieve this goal, the following equation is used: $\begin{matrix} {\begin{pmatrix} f_{l} \\ g_{l} \end{pmatrix} = \begin{pmatrix} f_{l} \\ {R_{l}f_{l}} \end{pmatrix}} & (2.21) \end{matrix}$ Equation (2.20) gives: f _(l) =e ^(Q) ^(l) ^(d) ^(l) (M _(l) ⁺ +M _(l) ⁻ R _(l+1))f _(l+1)  (2.22) R _(l) f _(l) =e ^(Q) ^(l) ^(d) ^(l) (M _(l) ⁻ +M _(l) ⁺ R _(l+1))f _(l+1)  (2.23) These equations may be rewritten as: $\begin{matrix} {f_{l + 1} = {{\left( {M_{l}^{+} + {M_{l}^{-}R_{l + 1}}} \right)^{- 1}e^{{- Q_{l}}d_{l}}f_{l}} \equiv {T_{l}e^{{- Q_{l}}d_{l}}f_{l}}}} & (2.24) \\ \begin{matrix} {R_{l} = {{e^{{- Q_{l}}d_{l}}\left( {M_{l}^{-} + {M_{l}^{+}R_{l + 1}}} \right)}\left( {M_{l}^{+} + {M_{l}^{-}R_{l + 1}}} \right)^{- 1}e^{{- Q_{l}}d_{l}}}} \\ {= {{e^{{- Q_{l}}d_{l}}\left( {M_{l}^{-} + {M_{l}^{+}R_{l + 1}}} \right)}T_{l}e^{{- Q_{l}}d_{l}}}} \end{matrix} & (2.25) \end{matrix}$ Using R_(l)≡e^(−Q) ^(l) ^(d) ^(l) {overscore (R)}_(l)e^(−Q) ^(l) ^(d) ^(l) , gives: {overscore (R)} _(l)=(M _(l) ⁻ +M _(l) ⁺ e ^(−Q) ^(l+1) ^(d) ^(l+1) {overscore (R)} _(l+1) e ^(−Q) ^(l+1) ^(d) ^(l+1) )T _(l).  (2.26) Equation (2.25) is obtained by replacing f_(l+1) within Equation (2.23) with the derivation for f_(l+1) obtained in Equation (2.24) and then equating the coefficient of f_(l). The recursion process is stable. If the wave function is not required, Equation (2.24) is not needed. In that case, Equation (2.25) is solved by starting with the base case R_(L)=0 (in the substrate layer). If the wave function is required, T_(l) is calculated using Equation (2.24). Equation (2.24) is then used to recursively obtain f_(l), with f₀ the incident wave function which is known, then g_(l)=R_(l)f_(l). The growing wave is also well controlled since R_(l)=e^(−Q) ^(l) ^(d) ^(l) {overscore (R)}_(l)e^(−Q) ^(l) ^(d) ^(l) , where {overscore (R)}_(l) is finite, and e^(Q) ^(l) ^(z)R_(l)f_(l)=e^(−Q) ^(l) ^((d) ^(l) ^(−z)){overscore (R)}_(l)e^(−Q) ^(l) ^(d) ^(l) f_(l) is well defined.

For calculating the Green's function (which will be discussed below), it is necessary to obtain a transfer matrix calculation that starts from the incident medium. For this derivation, define m_(l)≡M_(l) ⁻¹=S_(l+1) ⁻¹S_(l)=Q_(l+1) ⁻¹N_(l) ^(T)Q_(l) and n_(l)≡N_(l) ⁻¹=J_(l+1) ⁻¹J_(l)=Q_(l+1)M_(l) ^(T)Q_(l) ⁻¹. Note that the calculation of m_(l) and n_(l) only involves a matrix transposition. Equation (2.19) becomes: $\begin{matrix} {\begin{pmatrix} f_{l + 1} \\ g_{l + 1} \end{pmatrix} = {\frac{1}{2}\begin{pmatrix} {m_{l} + n_{l}} & {m_{l} - n_{l}} \\ {m_{l} - n_{l}} & {m_{l} + n_{l}} \end{pmatrix}\begin{pmatrix} e^{{- Q_{l}}d_{l}} & 0 \\ 0 & e^{Q_{l}d_{l}} \end{pmatrix}\begin{pmatrix} f_{l} \\ g_{l} \end{pmatrix}}} & (2.27) \end{matrix}$

Similar to the forward cases, define f_(l)={overscore (r)}_(l)g_(l), and the above equation becomes: $\begin{matrix} {\begin{pmatrix} {r_{l + 1}g_{l + 1}} \\ g_{l + 1} \end{pmatrix} = {\frac{1}{2}\begin{pmatrix} {m_{l} + n_{l}} & {m_{l} - n_{l}} \\ {m_{l} - n_{l}} & {m_{l} + n_{l}} \end{pmatrix}\begin{pmatrix} e^{{- Q_{l}}d_{l}} & 0 \\ 0 & e^{Q_{l}d_{l}} \end{pmatrix}\begin{pmatrix} {{\overset{\_}{r}}_{l}g_{l}} \\ g_{l} \end{pmatrix}}} & (2.28) \end{matrix}$ which can be rewritten as: $\begin{matrix} \begin{matrix} {g_{l + 1} = {\left( {m^{+} + {m^{-}e^{{- Q_{l}}d_{l}}{\overset{\_}{r}}_{l}e^{{- Q_{l}}d_{l}}}} \right)e^{Q_{l}d_{l}}g_{l}}} \\ {{{\overset{\_}{r}}_{l + 1}g_{l + 1}} = {\left( {m^{-} + {m^{+}e^{{- Q_{l}}d_{l}}{\overset{\_}{r}}_{l}e^{{- Q_{l}}d_{l}}}} \right)e^{Q_{l}d_{l}}g_{l}}} \\ {g_{l} = {{e^{{- Q_{l}}d_{l}}\left( {m^{+} + {m^{-}e^{{- Q_{l}}d_{l}}{\overset{\_}{r}}_{l}e^{{- Q_{l}}d_{l}}}} \right)}^{- 1}g_{l + 1}}} \\ {\equiv {e^{Q_{l}d_{l}}t_{l}g_{l + 1}}} \end{matrix} & (2.29) \\ \begin{matrix} {{\overset{\_}{r}}_{l + 1} = {\left( {m^{-} + {m^{+}e^{{- Q_{l}}d_{l}}{\overset{\_}{r}}_{l}e^{{- Q_{l}}d_{l}}}} \right)\left( {m^{+} + {m^{-}e^{Q_{l}d_{l}}{\overset{\_}{r}}_{l}e^{{- Q_{l}}d_{l}}}} \right)^{- 1}}} \\ {\equiv {\left( {m^{-} + {m^{+}e^{{- Q_{l}}d_{l}}{\overset{\_}{r}}_{l}e^{{- Q_{l}}d_{l}}}} \right)t_{l}}} \end{matrix} & (2.30) \end{matrix}$

Note that the backward and forward transfer matrix formalisms are the same, (compare this equation with Equation (2.26)). The difference only lies in the reference point for z.

Green's Function within the Coupled-wave Basis

To calculate Green's functions for a multi-component layered system, it is best to use a source term that is more convenient than the wave function expansion. In this way, the Green's function is calculated in the same way as the wave function except for the complication originated from the source term. Within the coupled-wave basis: $\begin{matrix} {{\left( {{\frac{\mathbb{d}}{\mathbb{d}z}{D(z)}\frac{\mathbb{d}}{\mathbb{d}z}} + {H(z)}} \right){G\left( {z,z^{\prime}} \right)}} = {{\delta\left( {z - z^{\prime}} \right)}.}} & (2.31) \end{matrix}$

Since there is no incident wave, the wave propagates from the source in both directions. Thus, in either the substrate or incident medium there are only decaying waves. The coefficients of the decaying waves must be zero. Using the notations defined for the wave functions, the coefficients g in the substrate and f in the incident medium must be zero, which are the governing boundary conditions for Green's function calculations.

If the source is located inside layer l and G(z, z′) is continuous across the plane z=z′, then integrating the equation of motion over z near the boundary plane yields: $\begin{matrix} {\begin{pmatrix} {{G\left( {z^{\prime +},z^{\prime}} \right)} - {G\left( {z^{\prime -},z^{\prime}} \right)}} \\ {{G^{\prime}\left( {z^{\prime +},z^{\prime}} \right)} - {G\left( {z^{\prime -},z^{\prime}} \right)}} \end{pmatrix} = \begin{pmatrix} 0 \\ {D^{- 1}\left( z^{\prime} \right)} \end{pmatrix}} & (2.32) \end{matrix}$ where G′(z, z′)≡∂_(z)G(z, z′). The general solution of G(z, z′) may be written as: G(z, z′)=S[e ^(−Qz) f ^(±)(z′)+e ^(Qz) g ^(±)(z′)],  (2.33) where f^(±)(z′) and g^(±)(z′) are square matrices of dimension N to be solved by matching the boundary conditions. The ± sign are for z>z′ and z<z′, respectively. Due to the fact that the Green's function is originated from the source only, the wave function below the source (z>z′) should be obtained using the transfer matrix starting from the substrate and the wave function above the source (z<z′) should be obtained by starting from the incident medium. For this reason: g ^(±) =Rf ⁺ and f ⁻ ={overscore (r)}g ⁻, where {overscore (r)} and R are the reflection matrices obtained from the incident medium and substrate respectively. Subsequently: $\begin{matrix} \begin{matrix} {\begin{pmatrix} {{G\left( {z^{\prime +},z^{\prime}} \right)} - {G\left( {z^{\prime -},z^{\prime}} \right)}} \\ {{G^{\prime}\left( {z^{\prime +},z^{\prime}} \right)} - {G\left( {z^{\prime -},z^{\prime}} \right)}} \end{pmatrix} = {\begin{pmatrix} S & 0 \\ 0 & {{- S}\quad Q} \end{pmatrix}{\tau\begin{pmatrix} e^{- Q_{z}} & 0 \\ 0 & e^{Q_{z}} \end{pmatrix}}\begin{pmatrix} f^{+} & {- f^{-}} \\ g^{+} & {- g} \end{pmatrix}}} \\ {= {\begin{pmatrix} S & 0 \\ 0 & {{- S}\quad Q} \end{pmatrix}{\tau\begin{pmatrix} e^{- Q_{z}} & 0 \\ 0 & e^{Q_{z}} \end{pmatrix}}\begin{pmatrix} 1 & \overset{\_}{r} \\ R & 1 \end{pmatrix}\begin{pmatrix} f^{+} \\ {- g^{1}} \end{pmatrix}}} \end{matrix} & (2.34) \end{matrix}$

Relating Equation (2.33) to Equation (2.34) yields: $\begin{matrix} {\begin{pmatrix} f^{+} \\ {- g^{-}} \end{pmatrix} = {\begin{pmatrix} \left( {1 - {\overset{\_}{r}\quad R}} \right)^{- 1} & {- {\overset{\_}{r}\left( {1 - {R\quad\overset{\_}{r}}} \right)}^{- 1}} \\ {- {R\left( {1 - {\overset{\_}{r}\quad R}} \right)}^{- 1}} & \left( {1 - {R\quad\overset{\_}{r}}} \right)^{- 1} \end{pmatrix}{b\left( z^{\prime} \right)}}} & (2.35) \\ {\quad{= {\begin{pmatrix} {1 - {\overset{\_}{r}\quad u\quad R}} & {{- \overset{\_}{r}}\quad u} \\ {{- u}\quad R} & u \end{pmatrix}{b\left( z^{\prime} \right)}}}} & (2.36) \end{matrix}$ where u≡(1−R{overscore (r)})⁻¹ and: $\begin{matrix} {{{b\left( z^{\prime} \right)} \equiv {\frac{1}{2}\begin{pmatrix} e^{Q_{z^{\prime}}} \\ {- e^{- Q_{z^{\prime}}}} \end{pmatrix}{Q^{- 1}\left( {D\quad S} \right)}^{- 1}}} = {\frac{1}{2}\begin{pmatrix} e^{Q_{z^{\prime}}} \\ {- e^{- Q_{z^{\prime}}}} \end{pmatrix}Q^{- 1}{S^{T}.}}} & (2.37) \end{matrix}$

It can be seen that both f⁺ and g⁻ have been uniquely determined. The second form (Equation (2.36)) is required since it guarantees absolute numerical stability for the evaluation of the Green's functions, since explicitly: $\begin{matrix} {\begin{pmatrix} f^{+} \\ g^{-} \end{pmatrix} = {\frac{1}{2}\begin{pmatrix} {e^{{Qz}^{\prime}} + {\overset{\_}{r}\quad{u\left( {{Re}^{{Qz}^{\prime}} + e^{- {Qz}^{\prime}}} \right)}}} \\ {u\left( {{Re}^{{Qz}^{\prime}} + e^{- {Qz}^{\prime}}} \right)} \end{pmatrix}Q^{- 1}{S^{T}.}}} & (2.38) \end{matrix}$

Note that all exponentially growing factors e^(Qz′) are accompanied by the factor R=e^(−Qd){overscore (R)}e^(−Qd). Thus, in actual calculations {overscore (R)} and the combined factor e^(Q(z′−d)) are always evaluated to guarantee numerical stability. Hence when both z and z′ are inside the same layer, the Green's function is written as: $\begin{matrix} {{G\left( {z,z^{\prime}} \right)} = {{S\left\lbrack {{\frac{1}{2}e^{{- Q}{{z - z^{\prime}}}}Q^{- 1}S^{T}} + {e^{- {Qz}}\overset{\_}{r}\quad{g^{-}\left( z^{\prime} \right)}} + {e^{Qz}R\quad{f^{+}\left( z^{\prime} \right)}}} \right\rbrack}.}} & (2.39) \end{matrix}$

Note that the first term is singular, which is different for z>z′ and z<z′. The remainder is a regular function, which is the same whether z>z′ or z<z′.

For z and z′ located in different layers, the transfer-matrix method (similar to that for the wave function as discussed in the previous section) is used to obtain G(z, z′) starting from the solution for z at layer l′, in which z′ is located. For z in a layer l below (z>z′), Equation (2.20) is used repeatedly to obtain the coefficient f_(l) ⁺ starting from f_(l′) ⁻. Similarly, for z in a layer l above (z<z′), Equation (2.29) is used repeatedly to obtain the coefficient g_(l) ⁻ starting from g_(l′) ⁻.

The G0 Case

For the G0 case, evaluation of the Green's function is limited to the incident medium (air) that makes up the perturbation domain (i.e., 0<z, z′<d). For the backward transfer, there is no reflection in the incident medium. Thus, {overscore (r)}=0 and S=const. This yields: $\begin{matrix} {\begin{pmatrix} f_{0}^{+} \\ {- g_{0}^{-}} \end{pmatrix} = {\begin{pmatrix} e^{Qz} \\ {- \left( {{R\quad e^{{Qz}^{\prime}}} + e^{- {Qz}^{\prime}}} \right)} \end{pmatrix}\frac{1}{2}{Q^{- 1}.}}} & (2.40) \\ {{G\left( {z,z^{\prime}} \right)} = {{\frac{S^{2}}{2}\left\lbrack {e^{{- Q}{{z - z^{\prime}}}} + {e^{- {Q{({d - z})}}}\overset{\_}{R}\quad e^{- {Q{({d - z})}}}}} \right\rbrack}Q^{- 1}}} & (2.41) \end{matrix}$

Here {overscore (R)} is a diagonal matrix with the n-th diagonal entry equal to r_(n), which corresponds to the reflection coefficient of order n for the zero-th order structure shown in FIG. 3.

The Ga case

For the Ga case, Green's function must be evaluated in the perturbation domain (0<z, z′<d), in which the structure has multiple slices of uniform dielectric medium (labeled with s) with an effective dielectric function ∈*_(s). ∈*_(s)=(∈_(s)(z)−1)(w_(s)(z)/p)+1 is used for TE modes and 1/∈*_(s)=(1/∈_(s)−1)(w_(s)/p)+1 is used for TM modes, where ∈_(s) is the dielectric function of the grating material and w_(s) is the width of grating in slice s at different z. The Green's function is still given by Equation (2.39). However, since all layers are uniform in the x-y plane, all matrices in this equation are diagonal and they can be evaluated much more efficiently.

Numerical Implementation for Two-dimensional Wave Equations

This section describes the use of modeling method to numerically evaluate the two waves equations for two-dimensional structures (Equations (2.4) and (2.9)). This numerical implementation allows the Green's function approach to be used within optical metrology and other systems that require diffraction modeling for two-dimensional structures.

As previously described, the modeling method begins with the creation of an idealized representation for the scatterer (see step 202 of FIG. 2). In the following step (step 204), the perturbation domain (0<z′<d) of the idealized representation is subdivided into a series of M−1 segments. As shown in FIG. 5, the boundaries between the M−1 segments have z′ values labeled by z₀, z₁ and so on through z_(M−1) (with z₀=0 and z_(M−1)=d). Within each segment, the perturbation V is assumed to be constant. For the simplest case, each segment has the same thickness. In many cases, however, it is desirable to vary the thickness of individual segments to increase accuracy of the numerical implementation. Typically, and as shown in FIG. 5, this is used to provide more segments near boundaries.

The next two steps (206 and 208) are performed separately for TE and TM modes. The TE mode case is described first, followed by the description for TM modes. In step 206 (for TE modes) the Green's function for the G1 case Equation (2.33) is substituted into the Lippmann-Schwinger equation for TE modes Equation (2.4). The resulting integral: Ψ(z)−Ψ₀(z)=∫dz′S[e ^(−Qz) f ^(±)(z′)+e ^(Qz) g ^(±)(z′)]V(z′)Ψ(z′)  (2.42) is evaluated for each of the segments defined in step 204. To perform this series of evaluations, the wave function within each segment is approximated by a linear interpolation formula. For segment j (z_(j−1)<z′<z_(j)), the interpolation formula is: Ψ(z′)=Ψ(z _(j−1))+Ψ′(z _(j))(z′−z _(j−1)); j=1, M−1, where Ψ′(z_(j))≡[Ψ(z_(j))−Ψ(z_(j−1))]/Δz, is the z-derivative of Ψ(z′) in segment j and Δz_(j)=z_(j)−z_(j−1), is mesh size in segment j. In each iteration, the wave function Ψ on the boundary mesh point z_(j) is updated by carrying out the integral over z′ within each segment analytically, thus converting the Lippmann-Schwinger equation into a simple sequence of matrix-vector multiplications.

To increase accuracy, the numerical implementation decomposes the Green's function G(z, z′) into two integrals, one proportional to analytic the function e^(−Qz′) and the other proportional to e^(Qz′) [see Equation (2.41)]. These separate terms are contained in each of the G0, G1 and Ga cases. For each segment j, the integrals are: ${\frac{1}{2}{\int_{z_{j - 1}}^{z_{j}}{{\mathbb{d}z^{\prime}}e^{- {Qz}^{\prime}}Q^{- 1}S^{T}{\Psi\left( z^{\prime} \right)}}}} = {e^{- {Qz}_{j - 1}}\left\lbrack {{W_{j}{\Psi\left( z_{j - 1} \right)}} + {W_{j}^{( - )}{\Psi^{\prime}\left( z_{j} \right)}}} \right\rbrack}$ and: ${{\frac{1}{2}{\int_{z_{j - 1}}^{z_{j}}{{\mathbb{d}z^{\prime}}e^{{Qz}^{\prime}}Q^{- 1}S^{T}{\Psi\left( z^{\prime} \right)}}}} = {e^{{Qz}_{j}}\left\lbrack {{W_{j}{\Psi\left( z_{j - 1} \right)}} + {W_{j}^{( + )}{\Psi^{\prime}\left( z_{j} \right)}}} \right\rbrack}},\text{where:}$ ${W_{j} \equiv {\frac{1}{2}\left( {1 - e^{{- Q}\quad\Delta\quad z_{j}}} \right)Q^{- 2}S^{T}}},{W_{j}^{( - )} \equiv {\frac{1}{2}\left( {W_{j} - {\Delta\quad z_{j}e^{{- Q}\quad\Delta\quad z_{j}}}} \right)Q^{- 2}S^{T}}}$ $W_{j}^{( + )} \equiv {\frac{1}{2}\left( {{\Delta\quad z_{j}} - W_{j}} \right)Q^{- 2}{S^{T}.}}$

This decomposition is essential for making the Lippmann-Schwinger equations numerically accurate, since it brings down a factor of Q⁻¹ that decays like 1/n as the order of the coupled-wave basis increases. Without this extra factor, the TM mode calculation is slow convergent (decaying like 1/n), and a direct numerical evaluation of the Lippmann-Schwinger equation on a finite mesh may be inaccurate.

Evaluating Equation (2.42) over z′ in each segment j results in the following system of linear equations: ÂX≡X−S({overscore (G)}VX+{overscore (G)}′VX′)=X ^(0,)  (2.43) where X⁰, X, and X′ are NM-dimensional column vectors with entries X_(n) ⁰(j)=<n|Ψ⁰(z_(j))>, X_(n)(j)=<n|Ψ(z_(j))>, and X′_(n)(j)=<n|Ψ′(z_(j))>. N is the number of coupled waves and M is the number of mesh points in z. V, {overscore (G)}, and {overscore (G)}′ are NM×NM matrices with matrix elements: $\begin{matrix} {\quad{{{V_{n,n^{\prime}}\left( {j,j^{\prime}} \right)} = {\delta_{j,j^{\prime}}\left\langle {n{{V\left( z_{j} \right)}}n^{\prime}} \right\rangle}},{{{\overset{\_}{G}}_{n,n^{\prime}}\left( {j,j^{\prime}} \right)} = \left\{ {{\begin{matrix} {\left\langle {n{{{e^{- {Q{({z_{j} - z_{f}})}}}W_{j^{\prime}}} + {e^{- {Qz}_{j}}\overset{\_}{r}\quad{g^{-}\left( j^{\prime} \right)}} + {e^{{Qz}_{j}}R\quad{f^{+}\left( j^{\prime} \right)}}}}n^{\prime}} \right\rangle,{{{for}\quad j} \geq j^{\prime}}} \\ {\left\langle {n{{{e^{- {Q{({z_{j} - z_{f - 1}})}}}W_{j^{\prime}}} + {e^{- {Qz}_{j}}\overset{\_}{r}\quad{g^{-}\left( j^{\prime} \right)}} + {e^{{Qz}_{j}}R\quad{f^{+}\left( j^{\prime} \right)}}}}n^{\prime}} \right\rangle,{{{for}\quad j} < j^{\prime}}} \end{matrix}{{{\overset{\_}{G}}^{\prime}}_{n,n^{\prime}}\left( {j,j^{\prime}} \right)}} = \left\{ {\begin{matrix} {\left. {\left\langle {n\left. {{e^{- {Q{({z_{j} - z_{f}})}}}W_{j^{\prime}}^{( + )}} + {e^{- {Qz}_{j}}\overset{\_}{r}\quad{g^{\prime -}\left( j^{\prime} \right)}} + {e^{{Qz}_{j}}R\quad{f^{\prime +}\left( j^{\prime} \right)}}} \right)} \right.n^{\prime}} \right\rangle,{{{for}\quad j} \geq j^{\prime}}} \\ {\left. {\left\langle {n\left. {{e^{Q{({z_{j} - z_{f - 1}})}}W_{j^{\prime}}^{( - )}} + {e^{- {Qz}_{j}}\overset{\_}{r}\quad{g^{\prime -}\left( j^{\prime} \right)}} + {e^{{Qz}_{j}}R\quad{f^{\prime +}\left( j^{\prime} \right)}}} \right)} \right.n^{\prime}} \right\rangle,{{{for}\quad j} < j^{\prime}}} \end{matrix}\quad\text{where:}} \right.} \right.}}} & \quad \\ {\quad{{\begin{pmatrix} {f^{+}(j)} \\ {g^{-}(j)} \end{pmatrix} = {\begin{pmatrix} {e^{{Qz}_{j}} + {\overset{\_}{r}\quad{u\left( {{R\quad e^{{Qz}_{j}}} + e^{- {Qz}_{j - 1}}} \right)}}} \\ {u\left( {{R\quad e^{{Qz}_{j}}} + e^{- {Qz}_{j - 1}}} \right)} \end{pmatrix}W_{j}}},\quad\text{and:}}} & (2.44) \\ {\quad{\begin{pmatrix} {f^{\prime +}(j)} \\ {g^{\prime -}(j)} \end{pmatrix} = {\begin{pmatrix} {{e^{{Qz}_{j}}W_{j}^{( + )}} + {\overset{\_}{r}\quad{u\left( {{R\quad e^{{Qz}_{j}}W_{j}^{( + )}} + {e^{- {Qz}_{j - 1}}W_{j}^{( - )}}} \right)}}} \\ {u\left( {{R\quad e^{{Qz}_{j}}} + {e^{- Q_{j - 1}}W_{j}^{( - )}}} \right)} \end{pmatrix}.}}} & (2.45) \end{matrix}$

In step 208, the system of linear equations is solved This can be done using any iterative solver. Typical solvers include the quasi-minimal-residue (QMR), TMRES and Krylov subspace solvers. Other suitable techniques may also be used. In the case where QMR is used, the initial guess of the wave function is taken to be Ψ⁰(z′) and is calculated via RCWA on the boundary mesh points z_(j) (j=1, . . . M−1).The matrices S, R, {overscore (r)}, and u are also calculated and stored. These matrices are independent of the perturbation V, allowing them to be computed once and reused. The following numerical procedures are then performed iteratively:

-   1. Calculate X′ from X via the relation:     X′(j)=[X(j)−X(j−1)]/Δz_(j) ; j=1, . . . , M−1. -   2. Perform the matrix-vector operations VX≡Y and VX′≡Y′. This     procedure takes N²M steps. By using symmetric and anti-symmetric     combinations of the coupled-wave basis (i.e., define |n_(±)=|n+|−n),     V is block-diagonalized within the symmetrized basis due to the fact     that V(x, z) is symmetric in x-space for fixed value of z. In this     way, the operation can be speeded up by a factor of two. -   3. Perform the matrix-vector multiplications {overscore (G)}Y and     {overscore (G)}′Y′. Here the fact that {overscore (G)} is     semi-separable is utilized allowing the matrix-vector operation to     be carried out with just N×M steps. Defining B={overscore (G)}Y     yields: $\begin{matrix}     {{B(j)} = {{e^{- {Qz}_{j}}{\sum\limits_{j^{\prime} = 1}^{j}{e^{{Qz}_{j}}W_{j^{\prime}}{Y\left( j^{\prime} \right)}}}} + {e^{{Qz}_{j}}{\sum\limits_{j^{\prime} = {j + 1}}^{M - 1}{e^{- {Qz}_{j - 1}}W_{j^{\prime}}{Y\left( j^{\prime} \right)}}}} +}} \\     {{e^{- {Qz}_{j}}\overset{\_}{r}{\sum\limits_{j^{\prime} = 1}^{M - 1}{{g^{-}\left( j^{\prime} \right)}{Y\left( j^{\prime} \right)}}}} + {e^{{Qz}_{j}}R{\sum\limits_{j^{\prime} = 1}^{M - 1}{{f^{+}\left( j^{\prime} \right)}{Y\left( j^{\prime} \right)}}}}} \\     {{\equiv {{F_{s}(j)} + {G_{s}(j)} + {e^{- {Qz}_{j}}\overset{\_}{r}G_{r}} + {e^{{Qz}_{j}}R\quad F_{r}}}},}     \end{matrix}$ -    where the singular parts F_(s)(j) and G_(s)(j) are calculated via     the recursion relation:     F _(s)(j)=e ^(−QΔz) ^(j) F _(s)(j−1)+W _(j) Y(j)     G _(s)(j−1)=e ^(−QΔz) ^(j) G _(s)(j)+W _(j) Y(j) -    with F_(s)(0)=G_(s)(M−1)=0, and the regular parts F_(r) and G_(r)     are calculated via the straightforward summation. Note that in the     above expressions, all terms are numerically stable, since all     exponentially growing terms like e^(Qz) ^(j) are multiplied by a     factor e^(−Qd) extracted from the relation R=e^(−Qd){overscore     (R)}e^(−Qd). Similarly, B′={overscore (G)}′Y′ and:     ${{B^{\prime}(j)} = {{F_{s}^{\prime}(j)} + {G_{s}^{\prime}(j)} + {e^{- {Qz}_{j}}\overset{\_}{r}\quad G_{r}^{\prime}} + {e^{{Qz}_{j}}R\quad F_{r}^{\prime}}}},\text{where:}$     F_(s)^(′)(j) = e^(−Q  Δ  z_(j))F_(s)^(′)(j − 1) + W_(j)⁽⁺⁾Y(j)     G_(s)^(′)(j − 1) = e^(−Q  Δ  z_(j))G_(s)^(′)(j) + W_(j)⁽⁻⁾Y(j)     ${F_{r}^{\prime} = {\sum\limits_{r}{{f^{\prime +}(j)}{Y(j)}}}},\text{and:}$     $G_{r}^{\prime} = {\sum\limits_{j}{{g^{\prime +}(j)}{{Y(j)}.}}}$ -   4. Perform the matrix-vector multiplication S(B−B′) and calculate     ÂX≡X−S(B+B′). Note that the eigenvalues of Â are all close to 1 if     the magnitude of GV is small compared to 1. This feature makes the     QMR method a fast converging one. The iteration procedure involves     repeated multiplication of the form ÂX.

Once the convergent solutions to X and consequently Y and Y′ are obtained, the modeling method completes at step 208 where the following projected Lippmann-Schwinger equation is used to calculate the TE mode reflection coefficients: r=r ₀ +∫G(0, z′)V(z′)Ψ(z′)dz′≡r ₀ +G ^(s) Y+G′ ^(s) Y′  (2.46) where G^(s), and G′^(s) are row vectors with entries defined by: G _(n) ^(s)(j)=<0|S(1+{overscore (r)})g ⁻(j)|n>, and G′ _(n) ^(s)(j)=<0|S(1+{overscore (r)})g′ ⁻(j)|n>,

As mentioned, steps 206 and 208 are repeated separately for TE and TM modes (this separation is logical and the operations may be combined for some implementations). The description for TE modes has just been completed. In step 206 (for TM modes) the Green's function for the G1 case Equation (2.33) is substituted into the Lippmann-Schwinger equation for TM modes Equation (2.9). The resulting integral: $\begin{matrix} {{{{\Psi(z)} - {\Psi^{0}(z)}} = {\int{{\mathbb{d}z^{\prime}}\begin{Bmatrix} {{S\left\lbrack {{e^{- {Qz}}{f^{\pm}\left( z^{\prime} \right)}} + {e^{Qz}{g^{\pm}\left( z^{\prime} \right)}}} \right\rbrack}K{\overset{\sim}{V}\left( z^{\prime} \right)}K\quad{\Psi\left( z^{\prime} \right)}} \\ {{+ {\partial_{z^{\prime}}{S\left\lbrack {{e^{- {Qz}}{f^{\pm}\left( z^{\prime} \right)}} + {e^{Qz}{g^{\pm}\left( z^{\prime} \right)}}} \right\rbrack}}}{V\left( z^{\prime} \right)}{\partial_{z^{\prime}}\quad{\Psi\left( z^{\prime} \right)}}} \end{Bmatrix}}}},} & (2.47) \end{matrix}$ is evaluated for each of the segments defined in step 204. To perform this series of evaluations, the wave function within each segment is approximated using the same linear interpolation formula used for TE modes. The same method for enhancing the accuracy of the Lippmann-Schwinger equation is also used (i.e., decomposition to form two integrals).

Evaluating equation (2.47) over z′ in each segment j results in the following system of linear equations: ÃX≡X−S({overscore (G)}K{tilde over (V)}KX+{overscore (G)}′K{tilde over (V)}KVX′+d{overscore (G)}VX′)=X ⁰,  (2.48) where K, {tilde over (V)}, and V are the same matrices as introduced in Equation (2.9). d{overscore (G)} is a NM×NM matrix with elements: $\begin{matrix} {{d\quad{G_{n,n^{\prime}}\left( {j,j^{\prime}} \right)}} = \left\{ \begin{matrix} {\left\langle {n{{{e^{- {Q{({z_{j} - z_{j^{\prime}}})}}}Q\quad W_{j^{\prime}}} + {e^{- Q_{z_{j}}}r\quad{g_{z}^{-}\left( j^{\prime} \right)}} + {e^{Q_{z}}R\quad{f_{z}^{+}\left( j^{\prime} \right)}}}}n^{\prime}} \right\rangle,{{{for}\quad j} \geq j^{\prime}}} \\ {\left\langle {n{{{{- e^{Q{({z_{j} - z_{j - 1}})}}}Q\quad W_{j^{\prime}}} + {e^{- Q_{z_{j}}}r\quad{g_{z}^{-}\left( j^{\prime} \right)}} + {e^{Q_{z}}R\quad{f_{z}^{+}\left( j^{\prime} \right)}}}}n^{\prime}} \right\rangle,{{{for}\quad j} < j^{\prime}},} \end{matrix} \right.} & (2.49) \\ {\quad{\text{where:}\quad{\begin{pmatrix} {f_{z}^{+}(j)} \\ {g_{z}^{-}(j)} \end{pmatrix} = {\begin{pmatrix} {e^{Q_{z}} + {\overset{\_}{r}\quad{u\left( {{Re}^{Q_{z_{j}}} - e^{- Q_{z_{j - 1}}}} \right)}}} \\ {u\left( {{Re}^{Q_{z_{j}}} - e^{- Q_{z_{j - 1}}}} \right)} \end{pmatrix}Q\quad{W_{j}.}}}}} & \quad \end{matrix}$

In step 208, the system of linear equations is solved. This can be done using any iterative solver. Typical solvers include the quasi-minimal-residue (QMR), TMRES and Krylov subspace solvers. Other suitable techniques may also be used. In the case where QMR is used, the initial guess of the wave function is taken to be Ψ⁰(z′) and is calculated via RCWA on the boundary mesh points z_(j) (j=1, . . . , M−1). The matrices S, R, {overscore (r)}, and u are also calculated and stored. These matrices are independent of the perturbation V, allowing them to be computed once and reused. The following numerical procedures are then performed iteratively:

-   1. Calculate X′ from X using the relation:     X′(j)=[X(j)−X(j−1)]/Δz _(j) ; j=1, . . . , M−1. -   2. Perform the matrix-vector operations:     K{tilde over (V)}KX≡Y ₁ , K{tilde over (V)}KX′≡Y ₂, and VX′≡Y′. -   3. Perform the matrix-vector multiplications:     K{tilde over (V)}KX≡Y ₁ , K{tilde over (V)}KX′≡Y ₂, and VX′≡Y′     {overscore (G)}Y ₁ ≡B ₁ , {overscore (G)}′Y ₂ ≡B ₂, and d{overscore     (G)}Y′≡B′. -   4. Perform the matrix-vector multiplication S(B₁+B₂+B′) is performed     and calculate ÂX≡X−S(B₁+B₂+B′). Steps 1 through 4 are repeated until     convergent solutions to X and consequently Y, Y′, Y₁, and Y₂ are     obtained. Note that the eigenvalues of Â are all close to 1 if the     magnitude of GV is small compared to 1. This feature makes the QMR     method a fast converging one. The iteration procedure involves     repeated multiplication of the form: ÂX.

The numerical implementation is then completed at step 208 where the following the following projected Lippmann-Schwinger equation is used to calculate the TM mode reflection coefficients: $\begin{matrix} \begin{matrix} {r = {r_{0} + {\int{{G\left( {0,z^{\prime}} \right)}{V\left( z^{\prime} \right)}{\Psi\left( z^{\prime} \right)}{\mathbb{d}z^{\prime}}}} +}} \\ {\int{{\partial_{z^{\prime}}{G\left( {0,z^{\prime}} \right)}}{V\left( z^{\prime} \right)}{\Psi^{\prime}\left( z^{\prime} \right)}{\mathbb{d}z^{\prime}}{\mathbb{d}z^{\prime}}}} \\ {\equiv {r_{0} + {G^{s}Y_{1}} + {G^{\prime\quad s}Y_{2}} + {d\quad G^{s}Y^{\prime}}}} \end{matrix} & (2.50) \end{matrix}$ where G^(s), G′^(s) and dG^(s) are row vectors with entries defined by: G _(n) ^(s)(j)=<0|S(1+{overscore (r)})g ⁻(j)|n>, G′ _(n) ^(s)(j)=<0|S(1+{overscore (r)})g′ ⁻(j)|n>, and dG _(n) ^(s)(j)=<0|S(1+{overscore (r)})g _(z) ⁻(j)|n>. Multi-layer Evaluation

If the perturbation domain contains more than one layer of materials, the transfer-matrix method is used to calculate {overscore (G)}Y=B (and similarly for B′, B₁, and B₂) due to contributions from z′ in different material layers. When z (where the updated wave function is to be evaluated) is in layer l, B is defined as the summation: ${B = {\sum\limits_{l^{\prime}}B^{({l\quad l^{\prime}})}}},$ where B^((ll′)) is the contribution from all z′ in layer l′. B^((ll′)) is obtained according to procedure 3 described above. For l>l′, each B^((ll′)) is defined as: B ^((ll′))(j)=(e ^(−Q) ^(l) ^(z) ^(j) +e ^(Q) ^(l) ^(z) ^(j) R){overscore (T)} _(l−1) {overscore (T)} _(l′) F _(r) ^((l′)), and for l<l′, each B^((ll′)) is defined as: B ^((ll′))(j)=(e ^(−Q) ^(l) ^(z) ^(j) {overscore (r)}+e ^(Q) ^(l) ^(z) ^(j) ){overscore (t)} _(l) {overscore (t)} _(l′−1) G _(r) ^((l′)), where {overscore (T)}_(l)≡T_(l)e^(−Q) ^(l) ^(d) ^(l) and {overscore (t)}_(l)≡e^(−Q) ^(l) ^(d) ^(l) t_(l).

Finally, the Born approximation may be used for the G1 case when the zero-th order structure chosen is very close to the physical structure. In this case, the wave function Ψ is replaced by the zero-th order wave function Ψ⁰ and Equations (2.46) and (2.50) are used to directly evaluate the reflection coefficients.

Equation Section 3E Field Wave Equation for Three-dimensional Structures

This section describes an E field derivation for a wave equation for three-dimensional structures. The E field wave equation allows the modeling method to be used to predict the diffraction response of three-dimensional structures (i.e., structures that do not exhibit translational symmetry in any one direction). For semi-conductor wafers, this can include patterns of vias and other periodic and non-periodic structures. The E field wave equation may also be used to model scattering for conical incidence.

To describe this derivation, consider a two-dimensional periodic array of three-dimensional gratings. The primitive lattice vectors within this array are labeled a₁ and a₂. The corresponding primitive reciprocal lattice vectors are denoted b₁ and b₂ with b_(i)·a_(j)=2πδ_(ij). For this system, the wave function and Green's function may be expanded in terms of the plane wave e^(i{right arrow over (k)}) ^(n′) ^(δ), where {right arrow over (k)}_(n); n=1, . . . , N denotes a series of N reciprocal lattice vectors. The x and y components of {right arrow over (k)}_(n) are conveniently denoted as k_(xn) and k_(yn).

The equations for electric fields are: ∇×∇×E=∈k ₀ ² E. ∇·∈E=0, where k₀=ω/c is the wave number. The electric field is related to the magnetic field via: H(r)□∇×E(r)

The dyadic Green's function for the uniform multilayer material is denoted G and satisfies the following equation: ∇×∇×G−∈ _(n)(z)k ₀ ² G=∇∇·G−∈ _(n)(z)k ₀ ² G=δ(r′−r)  (3.1) where ∈_(n) is the dielectric constant of the host medium and with the boundary conditions that G and ∇×G are continuous across z boundaries.

Within the perturbation domain (i.e., 0<z′<d), the periodic nature of the system allows G to be written in terms of coupled-wave basis as: ${G\left( {r^{\prime} - r} \right)} = {{\sum\limits_{n}{e^{{ik}_{n} \cdot {({\overset{\sim}{\rho} - {\overset{\sim}{\rho}}^{\prime}})}}{G_{n}\left( {z,z^{\prime}} \right)}}} = {\sum\limits_{n}{e^{{{ik}_{xn}{({x - x^{\prime}})}} + {{ik}_{yn}{({y - y^{\prime}})}}}{{G_{n}\left( {z,z^{\prime}} \right)}.}}}}$

Substituting this into Equation (3.1) yields: [(ik _(n) +{circumflex over (z)}∂ _(z))(ik _(n) +{circumflex over (z)}∂ _(z))·G _(n)+(k _(n) ² −∂ _(z) ²)G _(n)]−∈_(n) k ₀ ² G _(n) =Iδ(z−z′), where I is a 3×3 identity matrix. Taking the dot product of (ik_(n)+{circumflex over (z)}∂_(z)) with the above gives: −∈_(n)(z)k ₀ ²(ik _(n) +{circumflex over (z)}∂ _(z))·G _(n)=(ik _(n) +{circumflex over (z)}∂ _(z))δ(z−z′).  (3.2) or: $\begin{matrix} {{{\left( {q_{n}^{2} - \partial_{z}^{2}} \right)G_{n}} = {\left\lbrack {I + \frac{\left( {{ik}_{n} + {\hat{z}\partial_{z}}} \right)\left( {{ik}_{n} + {\hat{z}\partial_{z}}} \right)}{ɛ_{a}k_{0}^{2}}} \right\rbrack{\delta\left( {z - z^{\prime}} \right)}}},} & (3.3) \end{matrix}$ where q_(n) ²≡k_(n) ²−∈_(n)k₀ ². It is convenient to choose a different coordinate frame (x′, y′) for each index n, such that k_(n) is parallel to the x′ axis. The following equations are used to make this transformation: {circumflex over (x)}=cos φ_(n) {circumflex over (x)}′−sin φ_(n) ŷ′, ŷ=sin φ_(n) {circumflex over (x)}′−cos φ_(n) ŷ′, where φ_(n)=tan⁻¹(k_(yn)/k_(xn)). In this frame, G takes the simplified form: $G = \begin{pmatrix} G_{xx} & 0 & G_{xz} \\ 0 & G_{yy} & 0 \\ G_{zx} & 0 & G_{zz} \end{pmatrix}$ with the boundary conditions that: $G_{xx},G_{xz},G_{yy},{\frac{ɛ_{a}(z)}{q_{n}^{2}}{\partial_{z}G_{xx}}},{\frac{ɛ_{n}(z)}{q_{n}^{2}}{\partial_{z}G_{xz}}},{{and}\quad{\partial_{z}G_{yy}}}$ are all continuous across z boundaries.

The y′y′ component of G is simply: ${G_{yy} = {\frac{1}{2q_{n}}\left\lbrack {e^{{- q_{n}}{{z - z^{\prime}}}} + {e^{q_{n}z^{\prime}}R_{n}{f_{n}(z)}} + {e^{{- q_{n}}z^{\prime}}{\overset{\rightarrow}{r}}_{n}{g_{n}(z)}}} \right\rbrack}},$ where f_(n)(z) and g_(n)(z) are given by (in column vector form): $\begin{matrix} {{\begin{pmatrix} f \\ g \end{pmatrix} = \begin{pmatrix} {e^{Qz} + {\overset{\_}{r}{u\left( {{Re}^{Qz} + e^{- {Qz}}} \right)}}} \\ {u\left( {{Re}^{Qz} + e^{- {Qz}}} \right)} \end{pmatrix}},} & (3.4) \end{matrix}$ where u≡(1−R{overscore (r)})⁻¹. Q denotes a square matrix with diagonal entries q_(n). R and {tilde over (r)} are the forward and backward transfer matrices which can be obtained by the transfer matrix method.

G_(xx) and G_(xz) are given by: ${G_{xx} = {\frac{- q_{n}}{2ɛ_{n}k_{0}^{2}}\left\lbrack {e^{{- q_{n}}{{z - z^{\prime}}}} + {e^{q_{n}z^{\prime}}{\overset{\sim}{R}}_{n}{{\overset{\sim}{f}}_{n}(z)}} + {e^{{- q_{n}}z^{\prime}}{\overset{\sim}{r}}_{n}{{\overset{\sim}{g}}_{n}(z)}}} \right\rbrack}},{G_{xz} = {\frac{{\mathbb{i}}\quad k_{n}}{2ɛ_{n}k_{0}^{2}}\left\lbrack {{{{sgn}\left( {z^{\prime} - z} \right)}e^{{- q_{n}}{{z - z^{\prime}}}}} - {e^{q_{n}z^{\prime}}{\overset{\sim}{R}}_{n}{{\overset{\sim}{f}}_{n}(z)}} + {e^{{- q_{n}}z^{\prime}}{\overset{\sim}{r}}_{n}{{\overset{\sim}{g}}_{n}(z)}}} \right\rbrack}},$ where {tilde over (f)}_(n) and {tilde over (g)}_(n) takes the same as f_(n) and g_(n) except the related {tilde over (R)}_(n) and {tilde over (r)}_(n) are obtained with different boundary conditions.

Equations (3.2) and (3.3) are used to relate the remaining two components to G_(xx) and G_(xz) via: $G_{zx} = {\frac{- {ik}_{n}}{q_{n}^{2}}{\partial_{z}G_{xx}}}$ $G_{zz} = {{\frac{1}{q_{n}^{2}}\left\lbrack {{{- {ik}_{n}}{\partial_{z}G_{xz}}} + {\delta\left( {z - z^{\prime}} \right)}} \right\rbrack}.}$ resulting in: $\begin{matrix} {{G_{zx} = {\frac{{ik}_{n}}{2ɛ_{a}k_{0}^{2}}\left\lbrack {{{{sgn}\left( {z^{\prime} - z} \right)}e^{{- q_{n}}{{z - z^{\prime}}}}} - {e^{q_{n}z^{\prime}}{\overset{\sim}{R}}_{n}{{\overset{\sim}{f}}_{n}(z)}} + {e^{{- q_{n}}z^{\prime}}{\overset{\sim}{r}}_{n}{{\overset{\sim}{g}}_{n}(z)}}} \right\rbrack}},} & \quad \\ {{G_{zz} = {{\frac{k_{n}^{2}}{2q_{n}ɛ_{a}k_{0}^{2}}\left\lbrack {e^{{- q_{n}}{{z - z^{\prime}}}} + {e^{q_{n}z^{\prime}}{\overset{\sim}{R}}_{n}{{\overset{\sim}{f}}_{n}(z)}} + {e^{{- q_{n}}z^{\prime}}{\overset{\sim}{r}}_{n}{{\overset{\sim}{g}}_{n}(z)}}} \right\rbrack} - {\frac{1}{ɛ_{a}k_{0}^{2}}{\delta\left( {z - z^{\prime}} \right)}}}},{{where}\text{:}}} & \quad \\ {{\begin{pmatrix} \overset{\_}{f} \\ \overset{\_}{g} \end{pmatrix} \equiv \begin{pmatrix} {Q^{- 1}\frac{\mathbb{d}}{\mathbb{d}z}\overset{\sim}{f}} \\ {Q^{- 1}\frac{\mathbb{d}}{\mathbb{d}z}\overset{\sim}{g}} \end{pmatrix}} = {\begin{pmatrix} {e^{Qz} + {\overset{\sim}{r}{\overset{\sim}{u}\left( {{\overset{\sim}{R}e^{Qz}} + e^{- {Qz}}} \right)}}} \\ {\overset{\sim}{u}\left( {{\overset{\sim}{R}e^{Qz}} + e^{- {Qz}}} \right)} \end{pmatrix}.}} & (3.5) \end{matrix}$

Note that G(r, r′) is symmetric, which implies G(k_(n); z, z′)=G^(T)(−k_(n); z′, z). Here: G(k_(n); z, z′)=G_(n)(z, z′). Rotating back to the original coordinates yields: $G_{n} = {\begin{pmatrix} G_{11} & G_{12} & G_{13} \\ G_{21} & G_{22} & G_{23} \\ G_{31} & G_{32} & G_{33} \end{pmatrix} = {\begin{pmatrix} {{\cos^{2}\phi_{n}G_{xx}} + {\sin^{2}\phi_{n}G_{yy}}} & {\cos\quad\phi_{n}\sin\quad{\phi_{n}\left( {G_{xx} - G_{yy}} \right)}} & {\cos\quad\phi_{n}G_{xz}} \\ {\cos\quad\phi_{n}\sin\quad{\phi_{n}\left( {G_{xx} - G_{yy}} \right)}} & {{\sin^{2}\phi_{n}G_{xx}} + {\cos^{2}\phi_{n}G_{yy}}} & {\sin\quad\phi_{n}G_{xz}} \\ {\cos\quad\phi_{n}G_{zx}} & {\sin\quad\phi_{n}G_{zx}} & G_{zx} \end{pmatrix}.}}$

It can be shown that the following Lippmann-Schwinger equation holds: Ψ(z)−Ψ⁰(z)=∫dz′G(z, z′)V(z′)Ψ(z′),  (3.6) where V≡(∈(z)−∈_(n))k₀ ². Note that ∈(z) is anisotropic in the laminated film in the grating region: ${ɛ = \begin{pmatrix} P^{- 1} & 0 & 0 \\ 0 & ɛ & 0 \\ 0 & 0 & ɛ \end{pmatrix}},$ where P as a matrix in the coupled-wave basis is the inverse of the ∈ matrix. For 3D gratings, it is assumed that the dielectric tensor takes the form: $ɛ = {\begin{pmatrix} P^{- 1} & 0 & 0 \\ 0 & P^{- 1} & 0 \\ 0 & 0 & ɛ \end{pmatrix}.}$

The three-component Lippmann-Schwinger equation can be reduced to a two-component Lippmann-Schwinger equation by utilizing the transverse condition ∇·∈E=0 to eliminate one component (E_(x)). The resulting equation is: {tilde over (E)} _(x) ≡P ⁻¹ E _(x) =K _(x) ⁻¹ [i∂ _(z)(∈E _(z))−K _(y)(∈E _(y))].

Substituting this into the Lippmann-Schwinger equation (for the y and z components) yields: E _(y)(z)−E _(y) ⁰(z)=∫dz′[G ₂₁ {tilde over (V)}{tilde over (E)} _(x) +G ₂₂ VE _(y) +G ₂₃ VE _(z)],  (3.7) E _(z)(z)−E _(z) ⁰(z)=∫dz′[G ₃₁ {tilde over (V)}{tilde over (E)} _(x) +G ₃₂ VE _(y) +G ₃₃ VE _(z)],  (3.8) where {tilde over (V)} is defined as: {tilde over (V)}≡(1−P∈ _(n))k ₀ ² .

Note that both V and {tilde over (V)} can be factored out as the product of a complex number and a real toeplitz matrix, and the product ∈E_(i)=VE_(i)+∈_(n)E_(i), i=x, y can be calculated quickly once VE_(i) are obtained. In the special case with K_(y)=0, E_(z) is proportional to K_(x)∈⁻¹H_(y), and the above Lippmann-Schwinger equations reduce to two decoupled integral equations, one for the TE mode (E_(y)) and the other for the TM mode (H_(y)). The resulting decoupled Lippmann-Schwinger equations are identical to those derived previously for the special limit (G0 approach): $\begin{matrix} {\quad{{{{E_{y}(z)} - {E_{y}^{0}(z)}} = {\int{{\mathbb{d}z^{\prime}}{G_{22\quad}\left( {z,z^{\prime}} \right)}V\quad E_{y}}}},}} & (3.9) \\ {{{H_{y} - {{\overset{\sim}{E}}_{z}^{0}(z)}} = {\int{\mathbb{d}{z^{\prime}\left\lbrack {{{\partial_{z^{\prime}}{\overset{\_}{G}\left( {z,z^{\prime}} \right)}}\overset{\sim}{V}{\partial_{z^{\prime}}H_{y}}} + {{\overset{\_}{G}\left( {z,z^{\prime}} \right)}K_{x}V\quad ɛ^{- 1}K_{n}H_{y}}} \right\rbrack}}}},} & (3.10) \end{matrix}$ where: ${\overset{\_}{G}\left( {z,z^{\prime}} \right)} = {{\frac{1}{2\quad q_{n}k_{0}^{2}}\left\lbrack {e^{{- q_{n}}{{z - z^{\prime}}}} - {e^{q_{n}z^{\prime}}{\overset{\sim}{R}}_{n}{{\overset{\_}{f}}_{n}(z)}} + {e^{{- q_{n}}z^{\prime}}{\overset{\sim}{r}}_{n}{{\overset{\_}{g}}_{n}(z)}}} \right\rbrack}.}$ Numerical Evaluation for the E Field Wave Equation for Three-Dimensional Structures

This section describes the use of modeling method to numerically evaluate the wave equation for three-dimensional structures (Equation (3.6)). This numerical implementation allows the Green's function approach to be used within optical metrology and other systems that require diffraction modeling for three dimensional structures.

As previously described, the modeling method begins with the creation of an idealized representation for the scatterer (see step 202 of FIG. 2). In the following step (step 204), the perturbation domain (0<z′<d) of the idealized representation is subdivided into a series of M segments. As shown in FIG. 6, the width of each j^(th) segment is labeled Δz_(j). The corresponding midpoint of each j^(th) segment is labeled z_(j). Within each segment, the perturbation function V is assumed to be constant. For the simplest case, each segment has the same thickness. In many cases, however, it is desirable to vary the thickness of individual segments to increase accuracy of the numerical implementation. Typically, and as shown in FIG. 6, this is used to provide more segments near boundaries.

In step 206, Equation (3.6) is evaluated for each of the segments defined in step 204. To perform this series of evaluations, the wave function within each segment is approximated by its value at the midpoint z_(j). In each iteration, the wave function Ψ on the boundary mesh point z_(j) is updated by carrying out the integral over z′ within each segment analytically, converting the Lippmann-Schwinger wave equation into a sequence of matrix-vector multiplications.

Note that in all cases the green's function G(z, z′) contains terms that are proportional to the analytic functions e^(−Qz′) or e^(Qz′). The Lippmann-Schwinger equation contains the following integrals, which are carried out analytically within each segment. For segment j, the integrals are: ∫_(z) _(j) ⁻ ^(z) ^(j) ⁺ dz′e ^(−Qz′)Ψ(z′)=e ^(−Q(z) ^(j) ⁻⁾ W _(j)Ψ(z _(j)) and ∫_(z) _(j) ⁻ ^(z) ^(j) ⁺ dz′e ^(Qz′)Ψ(z′)=e ^(Q(z) ^(j) ⁺⁾ W _(j)Ψ(z _(j)) where z_(j) ^(±)≡z_(j)±Δz_(j)/2 and W _(j)≡(1−e ^(−QΔz) ^(j) )Q ⁻¹.

The above procedure is essential for making the Lippmann-Schwinger equations accurate, since it brings down a factor of Q⁻¹ which decays like 1/n as the order of the coupled-wave basis increases. Without this extra factor, the calculation is slow convergent (decaying like 1/N), and a direct numerical evaluation of the Lippmann-Schwinger equation on a finite mesh may be inaccurate. Performing an average of the resulting function of Equation (3.6) over z within each segment j further improves accuracy. This brings down another factor of Q⁻¹. If z and z′ fall into the same segment j, the result is: ∫_(z) _(j) ⁻ ^(z) ^(j) ⁺ dz∫ _(z) _(j) ⁻ ^(z) ^(j) ⁺ dz′e ^(−Q[z−z′]) =W _(j) ⁰.  (3.11) where: W _(j) ⁰=2[Δz−(1−e ^(−QΔz))Q ⁻¹ ]Q ⁻¹.  and: ∫_(z) _(j) ⁻ ^(z) ^(j) ⁺ dz∫ _(z) _(j) ⁻ ^(z) ^(j) ⁺ dz′sgn(z′−z)e ^(−Q[z−z′])=0.

The result of the double integration is the following system of linear equations: ÂX≡X−{overscore (G)}VX+(VX)_(z)∈_(n) k ₀ ² =X ⁰,  (3.12) Within Equation (3.12) X⁰ and X are 3NM-dimensional column vectors where N is the number of coupled waves in each direction of x and y, and M (as previously discussed) is the number of subdivisions of the perturbation domain. The elements of X⁰ and X are defined as: X _(n) ⁰(j)=<n|Ψ ⁰(z _(j))> and X _(n)(j)=<n|Ψ(z _(j))>. V and {overscore (G)} are 3NM×3NM matrices with matrix elements given by: ${{V_{n,n^{\prime}}\left( {j,j^{\prime}} \right)} = {I\quad\delta_{j,j^{\prime}}n{{V\left( z_{j} \right)}}n^{\prime}}},{{\overset{\_}{G}\left( {j,j^{\prime}} \right)} = \begin{Bmatrix} {{S^{0}W_{j}^{0}\delta_{j,j^{\prime}}} + {W_{j}\left\lbrack {{Se}^{{- Q}{{z_{j}^{-} - z_{j^{\prime}}^{+}}}}{\theta\left( {j > j^{\prime}} \right)}} \right.}} \\ {{{+ S^{\prime}}e^{{- Q}{{z_{j}^{+} - z_{j^{\prime}}^{-}}}}{\theta\left( {j < j^{\prime}} \right)}} + {{{RF}(j)}e^{{Qz}_{j^{\prime}}^{+}}}} \\ {\left. {{+ \overset{\_}{r}}{G(j)}e^{- {Qz}_{j}^{-}}} \right\rbrack W_{j^{\prime}}} \end{Bmatrix}}$ where R({overscore (r)}) is a 3N×3N matrix with diagonal elements being {tilde over (R)}_(n)({tilde over (r)}_(n)) for the x′x′ and zz components and R_(n)({overscore (r)}_(n)) for the y′y′ component. S⁰, S, S′, f(j) and g(j) are 3N×3N matrices with the n^(th) diagonal block given by: $S_{n} = {{\begin{pmatrix} \frac{- q_{n}^{2}}{ɛ_{a}k_{0}^{2}} & 0 & \frac{{- {ik}_{n}}q_{n}}{ɛ_{a}k_{0}^{2}} \\ 0 & 1 & 0 \\ \frac{{- {ik}_{n}}q_{n}}{ɛ_{a}k_{0}^{2}} & 0 & \frac{k_{n}^{2}}{q_{n}ɛ_{a}k_{0}^{2}} \end{pmatrix}/2}q_{n}\Delta\quad z}$ S⁰ is obtained from S by eliminating the off-diagonal terms. $S_{n}^{\prime} = {{\begin{pmatrix} \frac{- q_{n}^{2}}{ɛ_{a}k_{0}^{2}} & 0 & \frac{{ik}_{n}q_{n}}{ɛ_{a}k_{0}^{2}} \\ 0 & 1 & 0 \\ \frac{{ik}_{n}q_{n}}{ɛ_{a}k_{0}^{2}} & 0 & \frac{k_{n}^{2}}{ɛ_{a}k_{0}^{2}} \end{pmatrix}/2}q_{n}\Delta\quad z}$ ${F_{n}(j)} = {{\begin{pmatrix} {\frac{- q_{n}^{2}}{ɛ_{a}k_{0}^{2}}{{\overset{\_}{f}}_{n}(j)}} & 0 & {\frac{{ik}_{n}q_{n}}{ɛ_{a}k_{0}^{2}}{{\overset{\_}{f}}_{n}(j)}} \\ 0 & {f_{n}(j)} & 0 \\ {\frac{{ik}_{n}q_{n}}{ɛ_{a}k_{0}^{2}}{{\overset{\_}{f}}_{n}(j)}} & 0 & {\frac{- k_{n}^{2}}{ɛ_{a}k_{0}^{2}}{{\overset{\_}{f}}_{n}(j)}} \end{pmatrix}/2}q_{n}\Delta\quad z}$ ${G_{n}(j)} = {{{\begin{pmatrix} {\frac{- q_{n}^{2}}{ɛ_{a}k_{0}^{2}}{{\overset{\_}{g}}_{n}(j)}} & 0 & {\frac{{ik}_{n}q_{n}}{ɛ_{a}k_{0}^{2}}{{\overset{\_}{g}}_{n}(j)}} \\ 0 & {g_{n}(j)} & 0 \\ {\frac{{ik}_{n}q_{n}}{ɛ_{a}k_{0}^{2}}{{\overset{\_}{g}}_{n}(j)}} & 0 & {\frac{k_{n}^{2}}{ɛ_{a}k_{0}^{2}}{{\overset{\_}{g}}_{n}(j)}} \end{pmatrix}/2}q_{n}\Delta\quad{z\begin{pmatrix} {f(j)} \\ {g(j)} \end{pmatrix}}} = {\begin{pmatrix} {e^{{Qz}_{j}^{+}} + {\overset{\_}{r}{u\left( {{Re}^{{Qz}_{j}^{+}} - e^{- {Qz}_{j}^{-}}} \right)}}} \\ {u\left( {{Re}^{{Qz}_{j}^{+}} + e^{- {Qz}_{j}^{-}}} \right)} \end{pmatrix}.}}$

{tilde over (f)}_(n) and {tilde over (g)}_(n) takes the same as f_(n) and g_(n) except R_(n) and {overscore (r)}_(n) are replaced by {tilde over (R)}_(n) and {tilde over (r)}_(n). $\begin{pmatrix} {\overset{\_}{f}(j)} \\ {\overset{\_}{g}(j)} \end{pmatrix} = {\begin{pmatrix} {e^{Qz} + {\overset{\_}{r}{\overset{\_}{u}\left( {{\overset{\_}{R}e^{{Qz}_{j}^{+}}} - e^{- {Qz}_{j}^{-}}} \right)}}} \\ {\overset{\_}{u}\left( {{\overset{\_}{R}e^{{Qz}_{j}^{+}}} - e^{- {Qz}_{j}^{-}}} \right)} \end{pmatrix}.}$

In step 208, the system of linear equations is solved. This can be done using any iterative solver. Typical solvers include the quasi-minimal-residue (QMR), TMRES and Krylov subspace solvers. Other suitable techniques may also be used.

In the case where QMR is used, the initial guess of the wave function Ψ(z′) is taken to be Ψ⁰(z′) which is evaluated on the mesh points z_(j) (j=1, . . . , M). The following numerical procedures are then performed:

-   1. Perform the matrix-vector operations VX≡Y . In general, this     calculation can take N²M steps, making it a potential computational     bottleneck for the numerical implementation. To improve efficiency,     the vector X is transformed into real space before performing the     operation VX. The product VX is then transformed back into k-space.     The CPU time scales like MNlogN for such a procedure, because the     transformation can be done independently for the x and y directions.     This scheme is feasible only if the dielectric tensor in the grating     region is assumed to be isotropic (a reasonable approximation for     low contrast medium). -   2. Perform the matrix-vector multiplication {overscore (G)}Y. Here     the fact that {overscore (G)} is semi-separable is utilized allowing     the matrix-vector operations to be carried out in N×M steps, Letting     B={overscore (G)}Y, yields:     ${{B(j)} = {{{S^{0}W_{j}^{0}{Y(j)}} + {W_{j}\left\lbrack {{{Se}^{- {Qz}_{j}^{-}}{\sum\limits_{j^{\prime} = 1}^{j - 1}{e^{{Qz}_{f}^{+}}W_{j^{\prime}}{Y\left( j^{\prime} \right)}}}} + {S^{\prime}e^{{Qz}_{j}^{+}}{\sum\limits_{j^{\prime} = {j + 1}}^{M}{e^{- {Qz}_{f}^{-}}W_{j^{\prime}}{Y\left( j^{\prime} \right)}}}} + {{{Rf}(j)}{\sum\limits_{j^{\prime} = 1}^{M}{e^{{Qz}_{f}^{+}}W_{j^{\prime}}{Y\left( j^{\prime} \right)}}}} + {\overset{\_}{r}{g(j)}{\sum\limits_{j^{\prime} = 1}^{M}{e^{- {Qz}_{f}^{-}}W_{j^{\prime}}{Y\left( j^{\prime} \right)}}}}} \right\rbrack}} \equiv {{S^{0}W_{j}^{0}{Y(j)}} + {W_{j}\left\lbrack {{{SF}_{s}(j)} + {S^{\prime}{G_{s}(j)}} + {{{Rf}(j)}F_{r}} + {\overset{\_}{r}{g(j)}G_{r}}} \right\rbrack}}}},$ -    where the singular parts F_(s)(j) and G_(s)(j) are calculated via     the recursion relations:     F _(s)(j)=e ^(−QΔz) ^(j−1) F _(s)(j−1)+W _(j−1) Y(j−1)     G _(s)(j−1)=e ^(−QΔz) ^(j) G _(s)(j)+W _(j) Y(j) -    with F_(s)(1)=G_(s)(M)=0, and the regular parts F_(r) and G_(r) are     calculated via the straightforward summation. Note that in the above     expressions, all terms are numerically stable, since all     exponentially growing terms like e^(Qz) ^(j) are multiplied by a     factor e^(−Qd) extracted out from the relation R=e^(−Qd){overscore     (R)}e^(−Qd). -   3. Calculate ÂX≡X−B+(VX)_(z)/∈_(a)k₀ ².

Note that the eigen-values of Â are all close to 1 if the magnitude of GV is small compared to 1. This feature makes the QMR method a fast converging one. The iteration procedure involves repeated multiplication of the form ÂX.

Two-component Equation Section 4H Field Wave Equation for Three-dimensional Structures

This section describes a derivation for an H field wave equation for three-dimensional structures. The H field wave equation allows the modeling method to be used to predict the diffraction response of three-dimensional structures (i.e., structures that do not exhibit translational symmetry in any one direction). For semi-conductor wafers, this can include patterns of vias and other periodic and non-periodic structures. The H field wave equation may also be used to model scattering for conical incidence.

The derivation for TM modes begins with the equation: ∇×∈⁻¹ ∇×{right arrow over (H)}=k ₀ ² {right arrow over (H)} where k₀ is the wave number and is equal to ω/c. In coupled wave terms, this can be rewritten as: {right arrow over (H)}(x, y, z)={right arrow over (H)}(z)e ^(t(K) ^(x) ^(x+K) ^(y) ^(y)), where H(z) is a column vector of dimension N², and K_(x), K_(y) denote N²×N² square matrices with diagonal entries equal to (k_(0x)+2nπ/p) and (k_(0y)+2mπ/p); n, m=1, . . . , N. k_(z)=−i∂_(z) remains a scalar. The requirement (from the Maxwell equations) that ∇·{right arrow over (H)}=0 gives: k _(z) H _(z)=−(K _(x) H _(x) +K _(y) H _(y)) leading to the following equations for magnetic fields: −{circumflex over (x)}·{{right arrow over (k)}×∈⁻¹[−(K_(x)H_(z)−k_(z)H_(x))ŷ−(K_(x)H_(y)−K_(y)H_(x)){circumflex over (z)}]} =−k _(z)∈⁻¹(K _(x) H _(z) −k _(z) H _(x))−K _(y)∈⁻¹(K _(x) H _(y) −K _(y) H _(x)) =k _(z)∈⁻¹ k _(z) ⁻¹(K _(x) K _(y) H _(y) +K _(x) K _(x) H _(x))+k _(z)∈⁻¹ k _(z) H _(x) −K _(y)∈⁻¹(K _(x) H _(y) −K _(y) H _(x)) =k₀ ²H_(x) −ŷ·{{right arrow over (k)}×∈⁻¹[(K_(y)H_(z)−k_(z)H_(y)){circumflex over (x)}+(K_(x)H_(y)−K_(y)H_(x)){circumflex over (z)}]} =−k_(z)∈⁻¹(K_(y)H_(z)−k_(z)H_(y))+K_(x)∈⁻¹(K_(x)H_(y)−K_(y)H_(x)) =k _(z)∈⁻¹ k _(z) ⁻¹(K _(y) K _(x) H _(x) −K _(y) K _(y) H _(y))+k _(z)∈⁻¹ k _(z) H _(y))+K _(x)∈⁻¹(K _(x) H _(y) −K _(y) H _(x)) =k₀ ²H_(y) or: $\begin{matrix} {{\begin{pmatrix} {k_{0}^{2} - {k_{z}ɛ^{- 1}k_{z}^{- 1}K_{x}^{2}} - {K_{y}ɛ^{- 1}K_{y}}} & {{K_{y}ɛ^{- 1}K_{x}} - {k_{z}ɛ^{- 1}k_{z}^{- 1}K_{x}K_{y}}} \\ {{K_{x}ɛ^{- 1}K_{y}} - {k_{z}ɛ^{- 1}k_{z}^{- 1}K_{y}K_{x}}} & {k_{0}^{2} - {k_{z}ɛ^{- 1}k_{z}^{- 1}K_{y}^{2}} - {K_{x}ɛ^{- 1}K_{x}}} \end{pmatrix}\quad\begin{pmatrix} H_{x} \\ H_{y} \end{pmatrix}}\quad = {k_{z}ɛ^{- 1}{k_{z}\begin{pmatrix} H_{x} \\ H_{y} \end{pmatrix}}}} & (4.1) \end{matrix}$

The relationship between magnetic fields and electric fields can be obtained as: −k ₀ ∈E _(x) =k _(z) H _(y) −K _(y) H _(z) =k _(z) H _(y) +k _(z) ⁻¹ K _(y)(K _(x) H _(x) +K _(y) H _(y)), k ₀ ∈E _(y) =k _(z) H _(x) −k _(x) H _(z) =k _(z) H _(x) +k _(z) ⁻¹ K _(x)(K _(x) H _(x) +K _(y) H _(y)). or: −k ₀ k _(z) ∈E _(x) =k _(z) ² H _(y) +K _(y) K _(x) H _(x) +K _(y) ² H _(y), k ₀ k _(z) ∈E _(y) =k _(z) ² H _(x) +K _(x) ² H _(x) +K _(x) K _(y) H _(y). Assuming that: ${\Psi = {{\begin{pmatrix} H_{x} \\ H_{y} \end{pmatrix}\quad{and}\quad\Psi^{\prime}} = \begin{pmatrix} E_{y} \\ {- E_{x}} \end{pmatrix}}},$ produces the following differential equations: [∂_(z) P(z)∂_(z) −L(z)]Ψ=0,  (4.2) Ψ′=P(z)∂_(z)Ψ,  (4.3) where: $\begin{matrix} {{{L(z)} = {{{- k_{0}^{2}}I} + \begin{pmatrix} {K_{y}ɛ^{- 1}K_{y}} & {{- K_{y}}ɛ^{- 1}K_{x}} \\ {{- K_{x}}ɛ^{- 1}K_{y}} & {{+ K_{x}}ɛ^{- 1}K_{x}} \end{pmatrix}}},} & (4.4) \end{matrix}$ where I is the identity matrix, and: ${P(z)} = {{\begin{pmatrix} ɛ^{- 1} & 0 \\ 0 & {\overset{\_}{ɛ}}^{- 1} \end{pmatrix}\left\lbrack {I + {\begin{pmatrix} K_{x}^{2} & {K_{x}K_{y}} \\ {K_{y}K_{x}} & K_{y}^{2} \end{pmatrix}k_{z}^{- 2}}} \right\rbrack} \equiv {\begin{pmatrix} ɛ^{- 1} & 0 \\ 0 & {\overset{\_}{ɛ}}^{- 1} \end{pmatrix}{\left( {I + {\eta\quad k_{z}^{- 2}}} \right).}}}$

The wave function Ψ satisfies the boundary conditions that Ψ(z) and P(z)∂_(z)Ψ(z) are continuous across z boundaries.

The derivation for TE modes begins with the equation: ∇×∇×{right arrow over (E)}=∈k ₀ ² {right arrow over (E)}. where k₀ is the wave number and is equal to ω/c. In coupled wave terms, this can be rewritten as: {right arrow over (E)}(x, y, z)={right arrow over (E)}(z)e ^(t(K) ^(x) ^(x+K) ^(y) ^(y)), where E(z) is a column vector of dimension N², and K_(x), K_(y) denote N²×N² square matrices with diagonal entries equal to (k_(0x)+2nπ/p) and (k_(0y)+2mπ/p); n, m=1, . . . , N. k_(z)=−i∂_(z) remains a scalar. The requirement (from the Maxwell equations) that ∇·{right arrow over (E)}=0 gives: k _(z) ∈E _(z)=−(K _(x) ∈E _(x) +K _(y) ∈E _(y)) leading to the following equations for electric fields: −{circumflex over (x)}·{{right arrow over (k)}×[−(K_(x)E_(z)−k_(z)E_(x))ŷ−(K_(x)E_(y)−K_(y)E_(x)){circumflex over (z)}]} −k _(z)(K _(x) E _(z) −k _(z) E _(x))−K _(y)(K _(x) E _(y) −K _(y) E _(x)) =k _(z)∈⁻¹ k _(z) ⁻¹(K _(x) K _(y) ∈E _(y) +K _(x) K _(x) ∈E _(x))+k _(z) k _(z) E _(x) −K _(y)(K _(x) E _(y) −K _(y) E _(x)) =∈k ₀ ² E _(x) −ŷ·{{right arrow over (k)}×[(K _(y) E _(z) −k _(z) E _(y)){circumflex over (x)}+(K _(x) E _(y) −K _(y) E _(x)){circumflex over (z)}]} −k _(z)(K _(y) E _(z) −k _(z) E _(y))+K _(x)(K _(x) E _(y) −K _(y) E _(x)) =K _(y) k _(z)∈⁻¹ k _(z) ⁻¹(K _(x) ∈E _(x) +K _(y) ∈E _(y))+k _(z) k _(z) E _(y))+K _(x)(K _(x) E _(y) −K _(y) E _(x)) =∈k₀ ²E_(y) or: $\begin{matrix} {{\left( \quad\begin{matrix} {{ɛk}_{0}^{2} - {k_{z}ɛ^{- 1}k_{z}^{- 1}K_{x}^{2}ɛ} - K_{y}^{2}} & {{K_{y}ɛ^{- 1}K_{x}ɛ} - {k_{z}ɛ^{- 1}k_{z}^{- 1}K_{x}K_{y}ɛ}} \\ {{K_{x}K_{y}} - {k_{z}ɛ^{- 1}k_{z}^{- 1}K_{y}K_{x}ɛ}} & {{ɛ\quad k_{0}^{2}} - {k_{z}ɛ^{- 1}k_{z}^{- 1}K_{y}^{2}ɛ} - {K_{x}K_{x}}} \end{matrix}\quad \right)\left( \quad\begin{matrix} E_{x} \\ E_{y} \end{matrix}\quad \right)} = {k_{z}^{2}\left( \quad\begin{matrix} E_{x} \\ E_{y} \end{matrix}\quad \right)}} & (4.5) \end{matrix}$

The relationship between magnetic fields and electric fields can be obtained as: −k ₀ ∈E _(x) =k _(z) E _(y) −K _(y) E _(z) =k _(z) E _(y) +k _(z) ⁻¹ K _(y)(K _(x) E _(x) +K _(y) E _(y)), k ₀ ∈E _(y) =k _(z) E _(x) −k _(x) E _(z) =k _(z) E _(x) +k _(z) ⁻¹ K _(x)(K _(x) E _(x) +K _(y) E _(y)). or: −k ₀ k _(z) ∈E _(x) =k _(z) ² E _(y) +K _(y) K _(x) E _(x) +K _(y) ² E _(y), k ₀ k _(z) ∈E _(x) =k _(z) ² E _(x) +K _(x) ² E _(x) +K _(x) K _(y) E _(y). Assuming that: ${\Psi = {{\begin{pmatrix} E_{x} \\ E_{y} \end{pmatrix}\quad{and}\quad\Psi^{\prime}} = \begin{pmatrix} E_{y} \\ {- E_{x}} \end{pmatrix}}},$ produces the following differential equations: [∂_(z) P(z)∂_(z) −L(z)]Ψ=0,  (4.6) Ψ′=P(z)∂_(z)Ψ,  (4.7) where: $\begin{matrix} {{{L(z)} = {{{- k_{0}^{2}}I} + \begin{pmatrix} {K_{y}ɛ^{- 1}K_{y}} & {{- K_{y}}ɛ^{- 1}K_{x}} \\ {{- K_{x}}ɛ^{- 1}K_{y}} & {{+ K_{x}}ɛ^{- 1}K_{x}} \end{pmatrix}}},} & (4.8) \end{matrix}$ where I is the identity matrix, and: ${P(z)} = {{ɛ^{- 1}\left\lbrack {I + {\begin{pmatrix} K_{x}^{2} & {K_{x}K_{y}} \\ {K_{y}K_{x}} & K_{y}^{2} \end{pmatrix}k_{z}^{- 2}}} \right\rbrack} \equiv {{ɛ^{- 1}\left( {I + {\eta\quad k_{z}^{- 2}}} \right)}.}}$

The wave function Ψ satisfies the boundary conditions that Ψ(z) and P(z)∂_(z)Ψ(z) are continuous across z boundaries.

The Green's function for the G0 structure is defined by: ${G\begin{pmatrix} G_{x} & G_{xy} \\ G_{yx} & G_{y} \end{pmatrix}},$ which satisfies: [∂_(z) P ₀(z)∂_(z) −L ₀(z)]G(z−z′)=δ(z−z′)I,  (4.9) where: P ₀(z)=∈₀(z)⁻¹(I+ηk _(z) ⁻²) $L_{0} = {{{- k_{0}^{2}}I} + {\begin{pmatrix} {K_{y}ɛ_{0}^{- 1}K_{y}} & {{- K_{y}}ɛ_{0}^{- 1}K_{x}} \\ {{- K_{x}}ɛ_{0}^{- 1}K_{y}} & {K_{x}ɛ_{0}^{- 1}K_{x}} \end{pmatrix}.}}$

Note that for uniform multilayer systems, ∈₀ ⁻¹ commutes with K_(x) and K_(y) with the result that: [∂_(z)P₀(z)∂_(z)−L₀(z)]=[∂_(z)∈₀(z)⁻¹∂_(z)+∈₀(z)⁻¹(K_(x) ²+K_(y) ²)−k₀ ²]I. The Green's function must satisfy the same boundary conditions for Ψ. Namely that G(z, z′) and P₀(z)∂_(z)G(z, z′) are continuous across z boundaries.

For coupled wave within the perturbation domain (for 0<z<d): ${G = {\frac{1}{p^{2}}{\sum\limits_{m,n}{e^{{{ik}_{xn}{({x - x^{\prime}})}} + {{ik}_{ym}{({y - y^{\prime}})}}}{\frac{1}{q_{{nm}\quad}}\left\lbrack {e^{{- q_{nm}}{{z - z^{\prime}}}} + {e^{q_{nm}^{2\quad}}R_{nm}e^{q_{nm}z^{\prime}}}} \right\rbrack}}}}},$ where q_(nm)=√{square root over (k_(xn) ²+k_(ym) ²−∈₀k₀ ²)}. In the coupled-wave basis, G can be expressed as a 2N²-dimensional square matrix in the form: $\begin{matrix} {{{G\left( {z,z^{\prime}} \right)} = {\frac{1}{2}{Q^{- 1}\left\lbrack {e^{{- Q}{{z - z^{\prime}}}} + {e^{Qz}{Re}^{{Qz}^{\prime}}}} \right\rbrack}}},} & (4.10) \end{matrix}$ where Q is a diagonal matrix with entries q_(nm).

The reflection matrix R is obtained by the transfer matrix method. It is convenient to choose a different coordinate frame (x′, y′) for each index nm, such that P₀(z) is diagonal. This produces: H _(x′)=cos φ_(nm) H _(x)+sin φ_(nm) H _(y), H _(y′)=−sin φ_(nm) H _(x)+cos φ_(nm) H _(y), where φ_(nm)=tan⁻¹(k_(ym)/k_(xn)). The reflection amplitudes for H_(x′) and H_(y′) fields are simply R_(nm) ^(x)=−R_(nm) ^(s) and R_(nm) ^(y)=R_(nm) ^(p). Here s and p denote the TE and TM modes for a conically incident wave with wave vector (k_(xn), k_(ym), k_(0z)). Rotating back to the original coordinates yields: $R_{nm} = {\begin{pmatrix} {{\cos^{2}\phi_{nm}R_{nm}^{x}} + {\sin^{2}\phi_{nm}R_{nm}^{p}}} & {\cos\quad\phi_{nm}\sin\quad{\phi_{nm}\left( {R_{nm}^{x} - R_{nm}^{p}} \right)}} \\ {\cos\quad\phi_{nm}\sin\quad{\phi_{nm}\left( {R_{nm}^{x} - R_{nm}^{p}} \right)}} & {{\sin^{2}\phi_{nm}R_{nm}^{x}} + {\cos^{2}\phi_{nm}R_{nm}^{p}}} \end{pmatrix}.}$

Note that P₀(z), L₀ and G are all symmetric matrices. Taking the transpose of Equation (4.5) yields: [∂_(z′) P ₀(z′)∂_(z′) G(z′−z)−G(z′−z)L ₀(z′)]=δ(z−z′)I,  (4.11) Multiplying the above equation by (Ψ−Ψ₀) and Equation (4.1) by G(z, z′) and integrating each result over z′ produces the following equations: ∫dz′[−∂ _(z′) P ₀(z′)∂_(z′) G(z′, z)+G(z′, z)L ₀(z)][Ψ(z′)−Ψ₀(z′)]=Ψ(z)−Ψ₀(z) and ∫dz′G(z, z′)[∂_(z′) P(z′)∂_(z′) −L(z)]Ψ(z′)=0.

Subtracting these equations and performing an integration by parts leads to the Lippmann-Schwinger equation: Ψ(z)−Ψ₀(z)=∫dz′[G(z, z′)V(z′)Ψ(z′)+(∂_(z′) G(z, z′))Δ(z′)(∂_(z′)Ψ(z′))],  (4.12) $\begin{matrix} {{{V \equiv {{L(z)} - {L_{0}(z)}}} = \begin{pmatrix} {K_{y}{D(z)}K_{y}} & {{- K_{y}}{D(z)}K_{x}} \\ {{- K_{x}}{D(z)}K_{y}} & {K_{x}{D(z)}K_{x}} \end{pmatrix}},} & (4.13) \end{matrix}$

D(z)=∈⁻¹(z)−∈₀ ⁻¹(z), and Δ(z)=P(z)−P₀(z)=D(z)(I+ηk_(z) ⁻²). Note that the boundary terms generated by the integration by parts vanish due to the fact both Ψ(z)P₀(z)∂_(z)G(z, z′) and G(z, z′)P(z)∂_(z)Ψ(z) are continuous across a z boundary. Here k_(z)≡−i∂_(z) and k_(z) ⁻¹≡−i∫_(z) ^(∞)dz. k_(z) ⁻¹ is defined in this way so that k_(z)k_(z) ⁻¹=1. This avoids an arbitrary constant term, since Ψ(z)=0 as z→∞. V(z) and D(z) are non-zero only in the perturbation domain 0<z<d. However, the last term in Equation (4.7) involves an integration operator k_(z) ⁻¹, which means that Ψ(z) must be solved for 0<z<∞. The problem is simplified by defining an integration constant C≡∫_(d) ^(∞)Ψ(z) so that Equation (4.7) now reads: $\begin{matrix} {{{\Psi(z)} - {\Psi_{0}(z)}} = {\int_{0}^{d}{{\mathbb{d}z^{\prime}}\begin{Bmatrix} {{G\left( {z,z^{\prime}} \right)}{V\left( z^{\prime} \right)}{\Psi\left( z^{\prime} \right)}} \\ {{+ \left\lbrack {\partial_{z^{\prime}}{G\left( {z,z^{\prime}} \right)}} \right\rbrack}{{D\left( z^{\prime} \right)}\left\lbrack {{\partial_{z^{\prime}}{\Psi\left( z^{\prime} \right)}} + {\eta\left( {C + {\int_{z^{\prime}}^{d}{{\psi\left( z^{''} \right)}{\mathbb{d}z^{''}}}}} \right)}} \right\rbrack}} \end{Bmatrix}}}} & (4.14) \end{matrix}$

Integrating Equation (4.7) over z in the domain d<z<∞ produces the following auxiliary equation for C: $\begin{matrix} {{C - C^{0}} = {\int_{0}^{d}{{\mathbb{d}z^{\prime}}\begin{Bmatrix} {{G\left( z^{\prime} \right)}{V\left( z^{\prime} \right)}{\Psi\left( z^{\prime} \right)}} \\ {{+ \left\lbrack {\partial_{z^{\prime}}{G\left( z^{\prime} \right)}} \right\rbrack}{{D\left( z^{\prime} \right)}\left\lbrack {{\partial_{z^{\prime}}{\Psi\left( z^{\prime} \right)}} + {\eta\left( {C + {\int_{z^{\prime}}^{d}{{\psi\left( z^{''} \right)}{\mathbb{d}z^{''}}}}} \right)}} \right\rbrack}} \end{Bmatrix}}}} & (4.15) \end{matrix}$ where C⁰≡∫_(d) ^(∞)dzΨ(z) and G(z′)≡∫_(d) ^(∞)dzG(z, z′), which can be carried out analytically. The above two coupled equations can now be solved via numerical method. For the incident waves $\Psi_{0} = \begin{pmatrix} 0 \\ H_{x}^{0} \end{pmatrix}$ is used for TM modes and $\Psi_{0} = \begin{pmatrix} H_{y}^{0} \\ 0 \end{pmatrix}$ is used for TE modes. In the perturbation domain 0<z<d this produces: H_(y) ⁰□e^(ik) ^(0x) ^(x+ik) ^(0z) ^(z)+r_(p)e^(ik) ^(0x) ^(x−ik) ^(0z) ^(z). H_(x) ⁰□e^(ik) ^(0x) ^(x+ik) ^(0z) ^(z)+r_(x)e^(ik) ^(0x) ^(x−ik) ^(0z) ^(z). E_(y) ⁰□e^(ik) ^(0x) ^(x+ik) ^(0z) ^(z)+r_(s)e^(ik) ^(0x) ^(x−ik) ^(0z) ^(z).

Note that H_(x) ⁰ E_(y) ⁰ are related by H_(x) ⁰=k_(z)E_(y) ⁰/k₀ with r_(s)=−r_(x). The final result for the reflection amplitude obtained for the H_(x) field must also change sign to get the reflection amplitude for TE modes.

For a layer l in the region z>d>z′, Ψ₀ and G take the form: Ψ₀(z)=[e ^(−Q) ^(l) ^(z) ^(l) +e ^(Q) ^(l) ^(z) ^(l) R _(l) ]C _(l), G(z, z′)=[e ^(−Q) ^(l) ^(z) ^(l) +e ^(Q) ^(l) ^(z) ^(l) R _(l) ]f _(l)(z′), where z_(l)=z−t_(l) is the z coordinate relative to the position of the interface between layers L and l−1. R_(l) is the reflection matrix at layer l and C_(l) and f_(l) are obtained via the recursion relation: C _(l+1) =T _(l) e ^(−Q) ^(l) ^(d) ^(l) C _(l) f _(l+1)(z′)=T _(l) e ^(−Q) ^(l) ^(d) ^(l) f _(l)(z′) starting from l=1 (for 0<z′<d) with C_(l) and: ${f_{1}\left( z^{\prime} \right)} = {\frac{1}{2}e^{Q_{1}z^{\prime}}{Q_{1}^{- 1}.}}$ C_(l) is a 2N² column vector with the only non-zero entry at n=m=0 for the H_(x) or H_(y) component. T_(l) is the transfer matrix defined above. This produces: $C^{0} = {{\sum\limits_{l = 2}^{L}{{C_{l}\left\lbrack {1 - e^{{- Q_{l}}d_{l}} + {R_{l}\left( {e^{Q_{l}d_{l}} - 1} \right)}} \right\rbrack}Q_{l}^{- 1}}} + {C_{L + 1}Q_{L + !}^{- 1}{and}\text{:}\begin{matrix} {{G\left( z^{\prime} \right)} = {{\sum\limits_{l = 2}^{L}{{{f_{l}\left( z^{\prime} \right)}\left\lbrack {1 - e^{{- Q_{l}}d_{l}} + {R_{l}\left( {e^{Q_{l}d_{l}} - 1} \right)}} \right\rbrack}Q_{l}^{- 1}}} + {{f_{L + 1}\left( z^{\prime} \right)}Q_{L + 1}^{- 1}}}} \\ {{\equiv {\frac{1}{2}{Fe}^{Q_{1}{({z^{\prime} - d})}}Q_{1}^{- 1}}},} \end{matrix}}}$ where d_(l) is the thickness of layer l;l=1, . . . , L and d_(l)=d. L+1 is the label for the substrate material. Denote the results for F(C⁰) obtained above for H_(x′) and H_(y′) in the (x′, y′) frame for nm(00)-component as F_(nm) ^(x)(C_(x) ⁰) and F_(nm) ^(y)(C_(y) ⁰). Rotating back to the original frame yields: ${F_{nm} = \begin{pmatrix} {{\cos^{2}\phi_{nm}F_{nm}^{x}} + {\sin^{2}\phi_{nm}F_{nm}^{y}}} & {\cos\quad\phi_{nm}\sin\quad{\phi_{nm}\left( {F_{nm}^{x} - F_{nm}^{y}} \right)}} \\ {\cos\quad\phi_{nm}\sin\quad{\phi_{nm}\left( {F_{nm}^{x} - F_{nm}^{y}} \right)}} & {{\sin^{2}\phi_{nm}F_{nm}^{x}} + {\cos^{2}\phi_{nm}F_{nm}^{y}}} \end{pmatrix}},{{and}\text{:}}$ ${C^{0}\begin{pmatrix} {\cos\quad\phi_{00}C_{x}^{0}} & {{- \sin}\quad\phi_{00}C_{y}^{0}} \\ {\sin\quad\phi_{00}C_{x}^{0}} & {\cos\quad\phi_{00}C_{y}^{0}} \end{pmatrix}}.$ Numerical Evaluation for the H-field Wave Equation for Three-dimensional Structures

This section describes the use of modeling method to numerically evaluate the wave equation for three-dimensional structures (Equation (4.12)). This numerical implementation allows the Green's function approach to be used within optical metrology and other systems that require diffraction modeling for three dimensional structures.

As previously described, the modeling method begins with the creation of an idealized representation for the scatterer (see step 202 of FIG. 2). In the following step (step 204), the perturbation domain (0<z′<d) of the idealized representation is subdivided into a series of M−1 segments. As shown in FIG. 5, the boundaries between the M−1 segments have z′ values labeled by z₀, z₁ and soon through z_(M−1) (with z₀=0 and z_(M−1)=d). Within each segment, the perturbation V is assumed to be constant. For the simplest case, each segment has the same thickness. In many cases, however, it is desirable to vary the thickness of individual segments to increase accuracy of the numerical implementation. Typically, and as shown in FIG. 5, this is used to provide more segments near boundaries.

In step 206, the Green's function for the G0 case Equation (4.10) is substituted into the Lippmann-Schwinger equation [Equation (4.12)] and the resulting integral is evaluated for each of the M−1 segments. To perform this series of evaluations, the wave function within each segment is approximated by a linear interpolation formula. For segment j (z_(j−1)<z′<z_(j)), the interpolation formula is: Ψ(z′)=Ψ(z _(j−1))+Ψ′(z _(j))(z′−z _(j−1)); j=1, M−1, where Ψ′(z_(j))≡[Ψ(z_(j))−Ψ(z_(j−1))]/Δz_(j) is the z-derivative of Ψ(z′) in segment j. Δz_(j)=z_(j)−z_(j−1) is mesh size in segment j. In each iteration, the wave function Ψ on the boundary mesh point z_(j) is updated by carrying out the integral over z′ within each segment analytically, thus converting the Lippmann-Schwinger equations into a simple sequence of matrix-vector multiplications.

To increase accuracy, the numerical implementation decomposes the Green's function G(z, z′) into two integrals, one proportional to analytic the function e^(−Qz′) and the other proportional to e^(Qz′) [see Equation (4.10)]. These separate terms are contained in each of the G0, G1 and Ga cases. For each segment j, the integrals are: ${\frac{1}{2}{\int_{z_{j - 1}}^{z_{j}}{{\mathbb{d}z^{\prime}}e^{- {Qz}^{\prime}}Q^{- 1}S^{T}{\Psi\left( z^{\prime} \right)}}}} = {e^{- {Qz}_{j - 1}}\left\lbrack {{W_{j}{\Psi\left( z_{j - 1} \right)}} + {W_{j}^{( - )}{\Psi^{\prime}\left( z_{j} \right)}}} \right\rbrack}$ and: ${\frac{1}{2}{\int_{z_{j - 1}}^{z_{j}}{{\mathbb{d}z^{\prime}}e^{{Qz}^{\prime}}Q^{- 1}S^{T}{\Psi\left( z^{\prime} \right)}}}} = {e^{{Qz}_{j}}\left\lbrack {{W_{j}{\Psi\left( z_{j - 1} \right)}} + {W_{j}^{( + )}{\Psi^{\prime}\left( z_{j} \right)}}} \right\rbrack}_{n}$ where: ${W_{j} \equiv {\frac{1}{2}\left( {1 - e^{{- Q}\quad\Delta\quad z_{j}}} \right)Q^{- 2}S^{T}}},{W_{j}^{( - )} \equiv {\frac{1}{2}\left( {{\left( {1 - e^{{- Q}\quad\Delta\quad z_{j}}} \right)Q^{- 1}} - {\Delta\quad z_{j}e^{{- Q}\quad\Delta\quad z_{j}}}} \right)Q^{- 2}S^{T}}}$ $W_{j}^{( + )} \equiv {\frac{1}{2}\left( {{\Delta\quad z_{j}} - {\left( {1 - e^{{- Q}\quad\Delta\quad z_{j}}} \right)Q^{- 1}}} \right)Q^{- 2}{S^{T}.}}$

This decomposition is essential for making the Lippmann-Schwinger equations numerically accurate, since it brings down a factor of Q⁻¹ that decays like 1/n as the order of the coupled-wave basis increases. Without this extra factor, the TM mode calculation is slow convergent (decaying like 1/N), and a direct numerical evaluation of the Lippmann-Schwinger equation on a finite mesh may be inaccurate.

Substituting Equation (4.10) into the L-S equation [Equation (4.12)] and carrying out the integral over z′ in each segment j results in the following system of linear equations: ÂX≡X−[{overscore (G)}VX+{overscore (G)}′VX′+d{overscore (G)}D(X′+η(C+{tilde over (X)}))]=X ⁰,  (4.16) with: ÂC≡C−[{overscore (G)}VX+{overscore (G)}′VX′+d{overscore (G)}D(X′+η(C+{tilde over (X)}))]=C ⁰ where X⁰, X, X′ and {tilde over (X)} are N²M-dimensional column vectors with entries: X _(nm) ⁰(j)=<nm|Ψ ⁰(z _(j))>, X _(nm)(j)=<nm|Ψ(z _(j))>, X′ _(nm)(j)=<nm|Ψ′(z _(j))>, and {tilde over (X)} _(nm)(j)=nm|∫ _(z) _(j) ^(d) dzΨ′(z _(j)). N is the number of coupled waves in each direction of x and y, and M is the number of mesh points in z. V {overscore (G)}, {overscore (G)}′, and d{overscore (G)} are 2N²M×2N²M matrices with matrix elements:

V _(nm,n′m′)(j, j′)=δ_(j,j′) <nm|V(z _(j))|n′m′>, $\begin{matrix} {{{\overset{\_}{G}}_{{nm},{n^{\prime}m^{\prime}}}\left( {j,j^{\prime}} \right)} = {\delta_{{nm},{n^{\prime}m^{\prime}}}\left\{ \begin{matrix} {{\left( {e^{- {Q({z_{j} - z_{f}})}} + {e^{{Qz}_{j}}R_{nm}e^{{Qz}_{f}}}} \right\rbrack W_{j}},} & {{{for}\quad j} \geq j^{\prime}} \\ {{\left( {e^{Q({z_{j} - z_{f - 1}})} + {e^{{Qz}_{j}}R_{nm}e^{{Qz}_{f}}}} \right)W_{j}},} & {{{for}\quad j} < j^{\prime}} \end{matrix} \right.}} \\ {{{{\overset{\_}{G}}^{\prime}}_{{nm},{n^{\prime}m^{\prime}}}\left( {j,j^{\prime}} \right)} = {\delta_{{nm},{n^{\prime}m^{\prime}}}\left\{ \begin{matrix} {{\left( {e^{- {Q({z_{j} - z_{f}})}} + {e^{{Qz}_{j}}R_{nm}e^{{Qz}_{f}}}} \right\rbrack W_{j}^{( + )}},} & {{{for}\quad j} \geq j^{\prime}} \\ {{\left( {e^{Q({z_{j} - z_{f - 1}})} + {e^{{Qz}_{j}}R_{nm}e^{{Qz}_{f}}}} \right)W_{j}^{( - )}},} & {{{for}\quad j} < j^{\prime}} \end{matrix} \right.}} \\ {{d{{\overset{\_}{G}}_{{nm},{n^{\prime}m^{\prime}}}\left( {j,j^{\prime}} \right)}} = {\delta_{{nm},{n^{\prime}m^{\prime}}}\left\{ {\begin{matrix} {{\left( {e^{- {Q({z_{j} - z_{f}})}} + {e^{{Qz}_{j}}R_{nm}e^{{Qz}_{f}}}} \right\rbrack{QW}_{j}},} & {{{for}\quad j} \geq j^{\prime}} \\ {{\left( {{- e^{Q({z_{j} - z_{f - 1}})}} + {e^{{Qz}_{j}}R_{nm}e^{{Qz}_{f}}}} \right){QW}_{j}},} & {{{for}\quad j} < j^{\prime}} \end{matrix}.} \right.}} \end{matrix}$

where {tilde over (R)}≡R(1+{overscore (r)}uR), {overscore (G)}, {overscore (G)}′, and d{overscore (G)} are 2N²×2N²M matrices with matrix elements: {overscore (G)} _(nm,n′m′)(j′)=δ_(nm,n′m′) F _(nm) e ^(Q(z) ^(j′) ^(−d)) W _(j′), {overscore (G)}′ _(nm,n′m′)(j′)=δ_(nm,n′m′) F _(nm) e ^(Q(z) ^(j′) ^(−d)) W _(j′) ⁽⁺⁾, d{overscore (G)} _(nm,n′m′)(j′)=δ_(nm,n′m′) F _(nm) e ^(Q(z) ^(j′) ^(−d)) QW _(j′).

In step 208, the system of linear equations is solved. This can be done using any iterative solver. Typical solvers include the quasi-minimal-residue (QMR), TMRES and Krylov subspace solvers. Other suitable techniques may also he used. In the case where QMR is used, the initial guess of the wave function is taken to be Ψ⁰(z′) and is calculated via RCWA on the boundary mesh points z_(j) (j=1, . . . , M−1). The following numerical procedures are then performed iteratively:

-   1. Calculate X′ and {tilde over (X)} from X via the relations:     X′(j)=[X(j)−X(j−1)]/Δz _(j) j=1, . . . , M−1.     and:     {tilde over (X)}(j)=Σ_(j′=j) ^(M−2) [X(j′)+X(j′+1)]Δz _(j+1) ; j=0,     . . . , M−2. -   2. Perform the matrix-vector operations VX≡Y, VX′≡Y′ and     D[X′+η(C+{tilde over (X)})]≡Y_(z). In general, this calculation can     take N⁴M making it a potential computation bottleneck for the     numerical implementation. To improve efficiency, the vector X is     transformed into real space before performing the operation VX. The     VX operation then becomes a simple combination of derivatives and     multiplications. The product VX is then transformed back into     k-space. CPU time scales on the order of 2MN³ for such a procedure.     This is because the transformation can be done independently for the     x and y directions. -   3. Perform the matrix-vector multiplications {overscore (G)}Y,     {overscore (G)}′Y′, and d{overscore (G)}′Y_(z). Here the fact that     {overscore (G)} is semi-separable is utilized allowing the     matrix-vector operation to be carried out with just N²×M steps.     Letting B={overscore (G)}Y results in:     ${{B(j)} = {{{e^{- {Qz}_{j}}{\sum\limits_{j^{\prime} = 1}^{l}{e^{{Qz}_{j}}W_{j^{\prime}}{Y\left( j^{\prime} \right)}}}} + {e^{{Qz}_{j}}{\sum\limits_{j^{\prime} = {j + 1}}^{M - 1}{e^{- {Qz}_{f - 1}}W_{j^{\prime}}{Y\left( j^{\prime} \right)}}}} + {e^{{Qz}_{j}}R{\sum\limits_{j^{\prime} = 1}^{M - 1}{e^{{Qz}_{f}}W_{j^{\prime}}{Y\left( j^{\prime} \right)}}}}} \equiv {{F_{s}(j)} + {G_{s}(j)} + {e^{{Qz}_{j}}{RF}_{r}}}}},$ -    where the singular parts F_(s)(j) and G_(s)(j) are calculated via     the recursion relation:     F _(s)(j)=e ^(−QΔz) ^(j) F _(s)(j−1)+W _(j) Y(j)     G _(s)(j−1)=e ^(−QΔz) ^(j) G _(s)(j)+W _(j) Y(j). -    with F_(s)(0)=G_(s)(M−1)=0, and the regular parts F_(r) and G_(r)     are calculated via the straightforward summation. Note that in the     above expressions, all terms are numerically stable, since all     exponentially growing terms like e^(Qz) ^(j) are multiplied by a     factor e^(−Qd′) extracted out from the relation R=e^(−Qd){overscore     (R)}e^(−Qd). Similarly, B′={overscore (G)}′Y′ and:     B′(j)=F′ _(s)(j)+G′ _(s)(j)+e ^(Qz) ^(j) RF′ _(r),     where:     F′ _(s)(j)=e ^(−QΔz) ^(j) F′ _(s)(j−1)+W _(j) ⁽⁺⁾ Y(j)     G′ _(s)(j−1)=e ^(−QΔz) ^(j) G′ _(s)(j)+W _(j) ⁽⁻⁾ Y(j)     and     $F_{r}^{\prime} = {\sum\limits_{j}{e^{{Qz}_{j}}W_{j}^{( + )}{{Y(j)}.}}}$ -    Similarly, B_(z)=d{overscore (G)}Y_(z) -   4. Calculate ÂX≡X−(B+B′+B_(z)) and ÂC≡C−({overscore (G)}Y+{overscore     (G)}′Y′+d{overscore (G)}Y_(z)).

Note that the eigen-values of Â are all close to 1 if the magnitude of GV is small compared to 1. This feature makes the QMR method a fast converging one. The iteration procedure involves repeated multiplication of the form ÂX.

Once the convergent solutions to X and C and consequently Y, Y′, and Y_(z) are obtained, the modeling method completes at step 208 where the following projected Lippmann-Schwinger equation is used to calculate the reflection coefficients: $\begin{matrix} {r = {{r_{0} + {\int{{G\left( {0,z^{\prime}} \right)}{V\left( z^{\prime} \right)}{\Psi\left( z^{\prime} \right)}{\mathbb{d}z^{\prime}}}} + {\int{{\partial_{z^{\prime}}{G\left( {0,z^{\prime}} \right)}}{\Delta\left( z^{\prime} \right)}{\Psi^{\prime}\left( z^{\prime} \right)}{\mathbb{d}z^{\prime}}}}} \equiv {r_{0} + {G^{s}Y} + {G^{\prime s}Y^{\prime}} + {{\mathbb{d}G^{\prime}}Y_{z}}}}} & (4.17) \end{matrix}$ G^(s),G′^(s) and dG^(s) are row vectors with entries defined by: G _(nm) ^(s)(j)=<0|[e ^(−Qz) ^(j) +Re ^(Qz) ^(j) ]W _(j) |nm>, G′ _(nm) ^(s)(j)=<0|[e ^(−Qz) ^(j) +Re ^(Qz) ^(j) ]W _(j) ⁽⁻⁾ |nm>, dG _(nm) ^(s)(j)=<0|[e ^(−Qz) ^(j) +Re ^(Qz) ^(j) ]QW _(j) |nm>. Representative Application

The modeling method and the associated derivations can be used to predict the optical scattering produced by a wide range of structures. FIG. 7 shows the elements of a scatterometer which may be used to generate empirical measurements for optical scattering. As shown in FIG. 7, the scatterometer 700 generates a probe beam 702 using an illumination source 704. Depending on the type of scatterometer 700, the illumination source 704 may be mono or polychromatic. The probe beam 702 is directed at a subject 706 to be analyzed. The subject 706 is generally of the type shown in FIG. 1. The reflected probe beam 708 is received by a detector 710. Once received, changes in reflectivity or polarization state of the probe beam are measured as a function of angle of incidence or wavelength (or both) and forwarded to processor 712.

To analyze the changes measured by detector 710, a hypothetical structure is postulated for the subject 706. Method 100 is then used to calculate one or more predicted reflection coefficients for the hypothetical structure. The hypothetical structure is then changed, and Method 100 repeated, until the predicted reflection coefficients match the results empirically observed by detector 710 (within some predetermined goodness of fit). At this point the hypothetical structure is assumed to closely match the actual structure of subject 706. In practice, modeling method 100 has been found to impart a high degree of efficiency to this process, allowing the analysis of results in real or near real-time. Modeling method 100 may also be used to pre-compute results for a hypothetical structure or for a series of variations to a hypothetical structure. Typically, the pre-computing of results is used as part of a library-based approach where the measurements recorded by detector 710 are compared (at least initially) to predicted reflection coefficients that have been computed and stored ahead of time. This sort of approach may be mixed with the real-time analysis where modeling method 100 is used to refine an analysis initially performed using the library-based approach. 

1. A method for modeling the diffraction resulting from the interaction of a probe beam with a subject, the method comprising: defining a zero-th order structure for the subject, the zero-th order structure including a perturbation domain to represent a scatterer within the subject, the zero-th order structure also including a background material to representing the material within the subject that is below the scatterer; solving a K space Lippmann-Schwinger equation including terms for a wave function for the zero-th order structure, a Green's function for the zero-th order structure and a perturbation function for the perturbation domain.
 2. A method as recited in claim 1 wherein the zero-th order structure in the perturbation domain has an optical response equivalent to a foreground material, where the foreground material is the substance that overlays the scatterer.
 3. A method as recited in claim 1 wherein the perturbation domain consists of a limited number of square slabs arranged in a repeating pattern.
 4. A method as recited in claim 1 wherein the perturbation domain consists of a uniform medium that has an optical response that is computed as a function of the dielectric function for the scatterer and the dielectric function of the substance that overlays the scatterer.
 5. A method as recited in claim 1 that further comprises the steps of: generating a system of linear equations by evaluating the wave equation for the zero-th order structure at a series of points within the perturbation domain; and solving the system of linear equations to obtain one or more reflection coefficient for the zero-th order structure.
 6. A method as recited in claim 5 further comprising the step of using an iterative technique to solve the system of linear equations.
 7. A method as recited in claim 5 that further comprises the steps of: subdividing the perturbation domain into a series of segments; and evaluating the wave equation for the zero-th order structure within each segment.
 8. A method as recited in claim 7 that further comprises the steps of: decomposing the Green's function for the zero-th order structure into a first integral proportional to e^(−Qz′) and a second integral proportional to e^(Qz′); and analytically evaluating the first and second integral for each segment.
 9. A method as recited in claim 7 that further comprises the step of approximating the wave function for the zero-th order structure within each segment.
 10. A method for modeling the diffraction resulting from the interaction of a probe beam with a subject, the method comprising the step of evaluating a k-space volume integral of a Green's function without boundary terms.
 11. A method as recited in claim 10 that further comprises the step of: defining a zeroth order structure for the subject, the zero-th order structure including a perturbation domain to represent a scatterer within the subject and a background material to represent the material within the subject that is below the scatterer.
 12. A method as recited in claim 11 wherein the zero-th order structure in the perturbation domain has an optical response equivalent to a foreground material, where the foreground material is the substance that overlays the scatterer.
 13. A method as recited in claim 11 wherein the perturbation domain consists of a limited number of square slabs arranged in a repeating pattern.
 14. A method as recited in claim 11 wherein the perturbation domain consists of a uniform medium that has an optical response that is computed as a function of the dielectric function for the scatterer and the dielectric function of the substance that overlays the scatterer.
 15. A method as recited in claim 11 that further comprises the step of solving a K space Lippmann-Schwinger equation including terms for a wave function for the zero-th order structure, a Green's function for the zero-th order structure and a perturbation function for the perturbation domain.
 16. A method as recited in claim 15 that further comprises the steps of: generating a system of linear equations by evaluating the wave equation for the zero-th order structure at a series of points within the perturbation domain; and solving the system of linear equations to obtain a reflection coefficient for the zero-th order structure.
 17. A method as recited in claim 16 further comprising the step of using an iterative technique to solve the system of linear equations.
 18. A method as recited in claim 15 that further comprises the steps of: subdividing the perturbation domain into a series of segments; and evaluating the wave equation for the zero-th order structure within each segment.
 19. A method as recited in claim 18 that further comprises the steps of: decomposing the Green's function for the zero-th order structure into a first integral proportional to e^(−Qz′) and a second integral proportional to e^(Qz′); and analytically evaluating the first and second integral for each segment.
 20. A method as recited in claim 18 that further comprises the step of approximating the wave function for the zero-th order structure within each segment.
 21. A method for modeling the diffraction resulting from the interaction of a probe beam with a subject, the method comprising evaluating a volume integral scattering equation where the wave vector has been reduced to two components using an integration operator to k inverse to represent k_(z).
 22. A method for modeling the diffraction resulting from the interaction of a probe beam with a subject, the method comprising evaluating a volume integral of a Green's function with no boundary terms for the H field.
 23. A method for modeling the diffraction resulting from the interaction of a probe beam with a subject, the method comprising: defining a perturbation domain to represent a scatterer within the subject where the perturbation domain consists of a limited number of square slabs arranged in a repeating pattern; and evaluating a volume integral of a Green's function within the perturbation domain.
 24. A method for modeling the diffraction resulting from the interaction of a probe beam with a subject, the method comprising: defining a zero-th order structure for the subject, the zero-th order structure including a perturbation domain to represent a scatterer within the subject, the zero-th order structure also including a background material to representing the material within the subject that is below the scatterer; and using a separable property of the Green's function to solve a Lippmann-Schwinger wave equation for the zero-th order structure.
 25. A method of optically inspecting and evaluating a subject comprising the steps of: (a) illuminating the subject with a probe light beam; (b) measuring the light reflected from the subject to generate at least one empirical reflection coefficient; (c) defining a hypothetical structure corresponding to the subject; (d) calculating a predicted reflection coefficient for the hypothetical structure by evaluating a k-space volume integral of a Green's function without boundary terms; and (e) repeating steps (c) and (d) until the difference between the predicted reflection coefficient and the empirical reflection coefficient is minimized.
 26. A method as recited in claim 25 that further comprises the step of: defining a zero-th order structure for the subject, the zero-th order structure including a perturbation domain to represent a scatterer within the subject and a background material to represent the material within the subject that is below the scatterer.
 27. A method as recited in claim 26 wherein the zero-th order structure in the perturbation domain has an optical response equivalent to a foreground material, where the foreground material is the substance that overlays the scatterer.
 28. A method as recited in claim 26 wherein the perturbation domain consists of a limited number of square slabs arranged in a repeating pattern.
 29. A method as recited in claim 26 wherein the perturbation domain consists of a uniform medium that has an optical response that is computed as a function of the dielectric function for the scatterer and the dielectric function of the substance that overlays the scatterer.
 30. A method as recited in claim 26 that further comprises the step of solving a K space Lippmann-Schwinger equation including terms for a wave function for the zero-th order structure, a Green's function for the zero-th order structure and a perturbation function for the perturbation domain.
 31. A method as recited in claim 30 that further comprises the steps of: generating a system of linear equations by evaluating the wave equation for the zero-th order structure at a series of points within the perturbation domain; and solving the system of linear equations to obtain a reflection coefficient for the zero-th order structure.
 32. A method as recited in claim 31 further comprising the step of using an iterative technique to solve the system of linear equations.
 33. A method as recited in claim 30 that further comprises the steps of: subdividing the perturbation domain into a series of segments; and evaluating the wave equation for the zero-th order structure within each segment.
 34. A method as recited in claim 33 that further comprises the steps of: decomposing the Green's function for the zero-th order structure into a first integral proportional to e^(−Qz′) and a second integral proportional to e^(Qz′); and analytically evaluating the first and second integral for each segment.
 35. A method as recited in claim 33 that further comprises the step of approximating the wave function for the zero-th order structure within each segment. 